如何让我的 Discord 机器人向聊天室发送消息 [重复]

Posted

技术标签:

【中文标题】如何让我的 Discord 机器人向聊天室发送消息 [重复]【英文标题】:How to make my Discord bot send a message to the chat [duplicate] 【发布时间】:2019-11-06 23:44:45 【问题描述】:

我想做一些简单的聊天命令。我在网上搜索了一些,但我没有找到任何可以理解的内容

import discord



client = discord.Client()

@client.event
async def on_ready():
    print("THE SHEEP BOT IS HERE!")
    await client.change_presence(activity=discord.Game("a bot"))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content == "Hey":
        await client.send_message(message.channel, "Hey.")

client.run("MYTOKEN")

目前,机器人的状态为“A bot”,这很好,我让它这样做了,就在我作为不和谐类型的用户时,机器人什么也不做。

我在运行程序时也遇到此错误

    await client.send_message(message.channel, "Hey.")
AttributeError: 'Client' object has no attribute 'send_message'

【问题讨论】:

确实做某事,它试图发送一条消息,但它不能,因为该方法不存在on Client client.send_message 在迁移后被弃用 【参考方案1】:

不要使用send_message,而是尝试message.channel.send

例如:

await message.channel.send("Hey.")

顺便说一句,send_message 不起作用的原因是因为它使用了不推荐使用的 discord.py 的异步版本。 Here's the github issue.

【讨论】:

以上是关于如何让我的 Discord 机器人向聊天室发送消息 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何提及使用 Chat Discord.JS 发送消息的用户?

Discord 机器人不会向我标记的用户发送消息

Discord.js 机器人无法向特定频道发送消息

如何让我的 Python Discord 机器人检查消息是不是由机器人本身发送?

如何让我的机器人在聊天中写欢迎消息?

Discord.py 机器人:如何让我的不和谐机器人向我发送对用户在 DM 中使用的命令的响应,例如进行调查?