Discord.py - 机器人没有响应

Posted

技术标签:

【中文标题】Discord.py - 机器人没有响应【英文标题】:Discord.py - bot doesn't respond 【发布时间】:2021-08-18 03:35:53 【问题描述】:

我正在 Python 上构建 Discord 机器人,但代码存在问题。 这是我的完整代码:

import discord
from discord import message
from discord.ext import commands

client = commands.Bot(command_prefix='_')

gret_words = ['hi', 'grets', 'greetings', 'mornin', 'hey']

@client.event
async def on_ready():
    print('We have logged in as 0.user'.format(client))

@client.command(pass_context=True)
async def hello(ctx):
    author = ctx.message.author
    await ctx.send(f'Hello, author.mention! My name is Bot-3P0!')

async def on_message(message):
    msg = message.content.lower()

    if msg in gret_words:
        await message.channel.send("Nice to see you!")

####################


client.run('TOKEN')

但我的问题是,当我从gret_words 列表中输入信使一个字时,机器人根本没有反应!我将不胜感激!

【问题讨论】:

【参考方案1】:

您需要将on_message 标记为事件。只需在async def on_message(message) 上添加@client.event 即可!编辑:您还需要将client.process_commands() 添加到您的on_message()

【讨论】:

告诉他也添加process_commands。否则命令将不会运行。

以上是关于Discord.py - 机器人没有响应的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py:在检查中使用特殊响应导致不同的输出

Discord.py 机器人不响应自定义表情符号

Discord.py - 如果命令被编辑,让我的机器人编辑他的响应

discord.py bot 不会响应命令

为啥我的 discord.py 机器人不响应 on_message 事件?

Discord.py Intents 使我的机器人不响应任何内容