前提・実現したいこと
mcstatusを使ってMinecraftのサーバー情報をDiscordで表示させたい。
発生している問題・エラーメッセージ
The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\bot.py", line 939, in invoke await ctx.command.invoke(ctx) File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 863, in invoke await injected(*ctx.args, **ctx.kwargs) File "C:\Users\user\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: timeout: timed out
該当のソースコード
python
1@bot.command() 2async def server(ctx, ip): 3 server = MinecraftServer.lookup(ip) 4 status = server.status() 5 embed = discord.Embed(title="Minecraftサーバーステータス情報", color=discord.Color.green()) 6 embed.add_field(name=":right_arrow:応答速度", value=f"{status.latency}ms") 7 embed.add_field(name=":right_arrow:バージョン", value=f"{status.version.name}") 8 embed.add_field(name=":right_arrow:オンライン人数", value=f"{status.players.online} / {status.players.max}") 9 query = server.query() 10 embed.add_field(name=":right_arrow:参加者", value="The server has the following players online: {0}".format(", ".join(query.players.names))) 11 await ctx.send(embed=embed)
試したこと
python
1 usersConnected = [ user['name'] for user in status.raw['players']['sample'] ]
これを出力してもダメでした。
補足情報(FW/ツールのバージョンなど)
Python 3.9.2
Discord.py 1.7.1
あなたの回答
tips
プレビュー