Python 说,发送消息并发送,在@bot事件中不工作怎么办?不和谐

Python 说,发送消息并发送,在@bot事件中不工作怎么办?不和谐,python,discord,discord.py,Python,Discord,Discord.py,您好,请重新阅读discord.py上的所有文档,不幸的是,您没有在聊天室发送消息中找到类似on_member_join事件的简单内容 我使用了一个非标准的构造,这样的构造client=discord.client(),但据我所知,新的bot=commands.bot(command_前缀=“!”) Print()正确地输出到控制台,但是将其发送到discord的聊天室不幸地不起作用( 我还尝试: bot.say(成员名称) bot.send_消息(member.name) bot.send(m

您好,请重新阅读discord.py上的所有文档,不幸的是,您没有在聊天室发送消息中找到类似on_member_join事件的简单内容

我使用了一个非标准的构造,这样的构造client=discord.client(),但据我所知,新的bot=commands.bot(command_前缀=“!”)

Print()正确地输出到控制台,但是将其发送到discord的聊天室不幸地不起作用(

我还尝试:

  • bot.say(成员名称)
  • bot.send_消息(member.name)
  • bot.send(member.name)
  • 但每次发出错误时,“'Bot'对象没有属性'say'”


    请告诉我我做错了什么?

    您使用的
    discord.py
    版本将更改您发送邮件的方式

    discord.py
    0.16,“异步”分支是当前的稳定版本。它有两种发送消息的方式。(在下面,请注意,
    Bot
    Client
    的子类,因此每个
    Bot
    也可以访问所有
    Client
    方法)

  • 使用。这就是你想要的 将在信息上的
    中使用(信息)

  • 使用
    Bot.say(message)
    。这是一种简单的发送方式 返回到在中调用命令的通道的消息

  • discord.py
    1.0,即“重写”分支,是最新的分支。它仍然被认为是实验性的,但完全可用

    现在,我们不再在客户端上使用方法发送消息,而是在接收消息的对象上使用方法发送消息。这些都实现了抽象基类,并且有一个方法。在您的
    on_message
    中,这看起来像

    await message.channel.send("I am responding to your message")
    

    我相信您使用的是1.0版

    非常感谢您提供如此详细的回复,我试图发送一条消息,而不是来自于\u message上的event。通过\u member上的event\u join,我解决了这个问题,结果是安装了discrod.py一半的库,包括send\u message(),未安装。决定我制作了virtualenv并更新了所有软件包。您的回答帮助我使用bot.say(),因为“ctx”出现了一个错误,这是一个很长的时间,再次感谢您!
    await bot.send_message(message.channel, "I am responding to your message")     
    
    await bot.say("I am responding to your command")
    
    await message.channel.send("I am responding to your message")