我一直在尝试测试为什么 on_message() with bot=False 没有在我的测试服务器中接收其他消息。这适用于机器人,但不适用于自我。
@discord.events
async def on_message(message):
if message.content == "whisk":
print(f"{message.author}: Hello")
await Discord.process_commands(message)
这应该在控制台中打印whisk,它在bot和self上执行,但是当它在self上运行并且另一个用户说“whisk”时,它不会打印任何内容。在机器人上它会打印。
答案 0 :(得分:2)
这个问题很可能是因为 1.7 版本已经删除了所有自机器人方法。
如果您想要 Selfbot,您要么使用过时、不受支持且未维护的库,要么直接与 API 交互。在任何情况下,您都违反了 ToS,并且您不会在任何官方渠道上获得任何支持。
根本不允许使用自我机器人。即使只是连接到 API 甚至没有接收或发送一条消息也会破坏 ToS。
您只能使用 OAuth2 协议代表用户帐户发出请求。
答案 1 :(得分:-2)
试试:
import discord
import os
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('whisk'):
await message.channel.send('hello')
看看有没有用