当前位置: 首页 > 知识库问答 >
问题:

不一致py,通过通道id发送消息,而不带on_message()事件?

龚永新
2023-03-14

我在我的代码中为我的机器人配置和一般的东西建立了一个类,我很整洁,所以,客户端不协调。Client()和bot。是我的类在我的bot类中我存储了一些通道ID,然后我注意到了客户端。发送消息(channelid,message)方式不再支持。但是,我将通道id变量编辑为

channel1=client.get_channel(channelid)

客户=不和谐。Client()位于我的类之上,它已定义。

我用这个发信息

await bot.channel1.send("hello world")

我期待着那个频道的消息,但现实是:

Task exception was never retrieved
future: <Task finished name='Task-2' coro=<bot2() done, defined at /path/to/file/bot.py:46> exception=AttributeError("'NoneType' object has no attribute 'send'")>
Traceback (most recent call last):
  File "/path/to/file/bot.py", line 53, in bot2
    await bot.channel1.send(fc)
AttributeError: 'NoneType' object has no attribute 'send'

简而言之,我的channel1定义是非典型的...为什么?

是的,我在代码中使用另一个异步def并运行它,因为这个代码应该运行在on_message()之外,应该运行异步

我用

client.loop.create_task(bot())
client.loop.create_task(bot2())
client.loop.create_task(dead())
client.run(bot.token)

共有1个答案

乐正辰阳
2023-03-14

channel1不是类型对象,因为它试图在bot就绪之前定义

  await client.wait_until_ready()
  channel1=client.get_channel(id)
 类似资料:
  • 大家好,我在最后完成了我想要的代码,但是我不能按照我想要的设置文章。我正在努力,但做得不好。 这是消息的输出 我想做的事。

  • 如何要求机器人将消息发送到与机器人接收命令不同的另一个通道(特定通道)? 假设bot在通道中收到消息,如果操作完成,则bot发送给通道。 code:

  • 我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢

  • 我一直在四处寻找,似乎找不到我用Typescript制作的不和谐机器人的这个问题的答案。我的所有命令都放在它们自己的文件夹中,每个命令都有一个单独的文件。有助于保持井井有条。 我见过有人说 但这给了我并且 实际上,每当有人运行重启命令时,我会尝试在每个文本频道(从列表中给出)发送一条机器人消息,因为不管出于什么原因,人们总是重启机器人。我把它实现为一件有趣的事情,如果有人需要使用它,我会时不时地以

  • 我正在开发一个NativeScript Android应用程序,其中我希望用户能够在按下一个按钮后打开WhatsApp联系人(只知道电话号码)。我目前使用Nativescript-open-app打开WhatsApp。是否也可以打开对话? 要打开WhatsApp,我使用以下代码(也许可以修改“com.WhatsApp”?):

  • 我想通过javascript代码发送gcm消息。为此,我们需要发布一个json对象。 gcm文档:http://developer.android.com/google/gcm/adv.html.中给出了url和json对象格式 出于测试目的,我编写了一个完美运行的Java代码。但是爪哇脚本代码不起作用。如果有人有一些示例工作代码(gcm的爪哇脚本),请发布。 脚本代码 :