我正在制造一个不和谐的机器人。我粘贴了一些我以前写过的代码,这些代码上一次写得很好,但现在不起作用了。
#LINK FILES
import bot_token
import task
from discord.ext import tasks, commands
#LIBRARIES
import discord
import os
#VARIABLES
token = bot_token.token
client = discord.Client()
#CODE
@client.event
async def on_ready():
print('We have log in as {0.user}'. format(client))
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!hi'):
await message.channel.send('hello')
client. Run(token)当我运行代码时,它显示机器人是在线的,但是当我在服务器上发送!hi时,bot没有反应。我能知道我的密码有什么问题吗?
发布于 2022-09-05 14:39:31
您的机器人是否具有读取消息所需的权限和意图?
权限需要在不和谐的开发人员门户中设置,并需要在将bot添加到服务器时由服务器所有者商定。这指定了您的机器人被允许做什么。
意图指定您希望机器人从不和谐中接收到什么信息。你可以试试:
intents = discord.Intents(messages=True)
client = discord.Client(intents=intents)或
intents = discord.Intents.all()
client = discord.Client(intents=intents)如果缺少权限或意图,您的机器人将不会接收任何消息,因此不会对它们作出反应。
发布于 2022-09-05 18:02:13
您需要使用message_content意图。确保在bot的应用程序页面中启用了它。
intents = discord.Intents(message_content=True)
client = discord.Client(intents=intents)https://stackoverflow.com/questions/73610865
复制相似问题