我正在尝试通过服务器 ID 获取服务器对象。我知道 server_id 是正确的,但由于某种原因,这些函数没有返回给我
client = discord.Client()
TOKEN = "mytoken"
client.login(TOKEN)
server_id=846557514476945408 #this is my own server id
guild=client.get_guild(server_id)
我已检查确保我的客户端连接已打开。
不确定是否重要,但我看到了这些警告
<input>:1: RuntimeWarning: coroutine 'Client.connect' was never awaited
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
答案 0 :(得分:0)
server_id
和 guild
变量在客户端准备就绪之前运行,因此您始终会收到 none
。似乎代码没有正确设置,因为 client.login()
是一个协程并且从来没有等待过。下面我删除了 client.login()
而是使用了 client.run()
并使用了 discord.py 中的最小机器人示例来利用包含的 on_ready 事件。 Discord.py - A Minimal Bot
import discord
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
server_id = 846557514476945408 #this is my own server id
guild = client.get_guild(server_id)
client.run("TOKEN")