discord.py中机器人在线但ping命令无法使用求助
Discord机器人Ping命令失效排查方案
- 确认权限配置:机器人必须在目标频道拥有「发送消息」和「读取消息」权限,否则执行命令后无法返回响应。
- 核对命令前缀:代码中设置的命令前缀是
.,发送命令时必须输入.ping,不能漏写前缀或使用错误符号。 - 启用消息内容Intent:Discord.py 2.0及以上版本需要显式开启消息内容Intent才能接收命令消息,修改代码如下:
import discord from discord.ext import commands # 初始化Intents并开启消息内容权限 intents = discord.Intents.default() intents.message_content = True client = commands.Bot(command_prefix=".", intents=intents) @client.event async def on_ready(): print('Logged in as {0.user}'.format(client)) @client.command(description='ping') async def ping(ctx): await ctx.send(f'{round(client.latency*1000)}ms') # 替换为真实机器人TOKEN,必须用引号包裹 client.run("你的机器人TOKEN") - 修正机器人TOKEN:原代码中
client.run(!@#$$%)的TOKEN无效且未加引号,需替换为Discord开发者平台获取的真实TOKEN,并用单/双引号包裹成字符串。 - 排查命令冲突:检查是否有其他扩展或自定义代码中存在同名
ping命令,避免命令被覆盖。
内容的提问来源于stack exchange,提问作者31.Lê Chí Tâm.7A1
相关产品推荐
相关产品推荐

