我正在关注有关如何制作不和谐机器人的 RealPython 教程,但遇到了我的代码仅打印机器人名称而不是我的名称的问题。我已经看到您在开发人员门户中启用特权网关意图并将 discord.Client(intents=intents) 代码添加到代码开头的解决方案,所以我做到了,但问题仍然存在。我没有收到任何错误或任何错误,只是打印了我的机器人名称。 如果我遗漏了什么,或者还有其他问题需要解决,请告诉我。谢谢!
这是我的代码:
# bot.py
import os
import discord
from dotenv import load_dotenv
intents = discord.Intents.all()
client = discord.Client(intents=intents)
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
GUILD = os.getenv('DISCORD_GUILD')
client = discord.Client()
@client.event
async def on_ready():
for guild in client.guilds:
if guild.name == GUILD:
break
print(
f'{client.user} is connected to the following guild:\n'
f'{guild.name}(id: {guild.id})'
)
members = '\n - '.join([member.name for member in guild.members])
print(f'Guild Members:\n - {members}')
client.run(TOKEN)
答案 0 :(得分:1)
您有两行将 discord.Client
分配给 client
。
client = discord.Client(intents=intents)
# and
client = discord.Client()
第一行与意图正确完成。但是,第二行创建了一个新的 discord.Client
对象,没有意图。删除这些行之一,并确保在您保留的行上启用意图。