首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的不和谐机器人在网上显示但不起作用?

为什么我的不和谐机器人在网上显示但不起作用?
EN

Stack Overflow用户
提问于 2022-09-05 14:23:28
回答 2查看 196关注 0票数 -1

我正在制造一个不和谐的机器人。我粘贴了一些我以前写过的代码,这些代码上一次写得很好,但现在不起作用了。

代码语言:javascript
复制
#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没有反应。我能知道我的密码有什么问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-05 14:39:31

您的机器人是否具有读取消息所需的权限和意图?

权限需要在不和谐的开发人员门户中设置,并需要在将bot添加到服务器时由服务器所有者商定。这指定了您的机器人被允许做什么。

意图指定您希望机器人从不和谐中接收到什么信息。你可以试试:

代码语言:javascript
复制
intents = discord.Intents(messages=True)
client = discord.Client(intents=intents)

代码语言:javascript
复制
intents = discord.Intents.all()
client = discord.Client(intents=intents)

如果缺少权限或意图,您的机器人将不会接收任何消息,因此不会对它们作出反应。

票数 2
EN

Stack Overflow用户

发布于 2022-09-05 18:02:13

您需要使用message_content意图。确保在bot的应用程序页面中启用了它。

代码语言:javascript
复制
intents = discord.Intents(message_content=True)
client = discord.Client(intents=intents)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73610865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档