前提・実現したいこと
PythonでDiscordBot作ってます。1コマンドで2つテキストメッセージを送りたいです。
発生している問題・エラーメッセージ
Discordのチャットにて
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.8/site-packages/discord/ext/commands/core.py", line 85, in wrapped
ret = await coro(*args, **kwargs)
File "discordbot.py", line 43, in allrandom7
await ctx.send(df.iloc[r,0])
File "/app/.heroku/python/lib/python3.8/site-packages/pandas/core/indexing.py", line 925, in getitem
return self._getitem_tuple(key)
File "/app/.heroku/python/lib/python3.8/site-packages/pandas/core/indexing.py", line 1506, in _getitem_tuple
self._has_valid_tuple(tup)
File "/app/.heroku/python/lib/python3.8/site-packages/pandas/core/indexing.py", line 754, in _has_valid_tuple
self._validate_key(k, i)
File "/app/.heroku/python/lib/python3.8/site-packages/pandas/core/indexing.py", line 1409, in _validate_key
self._validate_integer(key, axis)
File "/app/.heroku/python/lib/python3.8/site-packages/pandas/core/indexing.py", line 1500, in _validate_integer
raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds
該当のソースコード
import pandas
from discord.ext import commands
from os import getenv
import traceback
import random
import csv
import time
example = random.randint(0,1900)
df = pandas.read_csv('word4.csv', encoding = 'utf-8')
num = 0
bot = commands.Bot(command_prefix='/')
@bot.event
async def on_command_error(ctx, error):
orig_error = getattr(error, "original", error)
error_msg = ''.join(traceback.TracebackException.from_exception(orig_error).format())
await ctx.send(error_msg)
@bot.command()
async def ping(ctx):
time.sleep(10)
await ctx.send(s)
@bot.command()
async def allrandom7(ctx):
for num in range(10):
r = random.randint(1,1900)
await ctx.send(df.iloc[r,0])
time.sleep(7)
await ctx.send(df.iloc[r,1]) ##ここでエラー!!!!
time.sleep(7)
token = getenv('DISCORD_BOT_TOKEN')
bot.run(token)
試したこと
エラーが起きているawait ctx.send(df.iloc[r,1])を消すと、うまく動作します
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/13 00:45