我正在尝试使用Python设置Discord机器人。 我有一个预先存在的Discord服务器,希望机器人加入该服务器,但是我很难做到。
import discord
import asyncio
import logging
logging.basicConfig(level=logging.INFO)
client = discord.Client()
@client.event
async def on_ready():
print('Logged in as')
print(client.user.name)
print(client.user.id)
print('------')
print(client)
@client.event
async def on_message(message):
print(message)
if message.content.startswith('!test'):
counter = 0
tmp = await client.send_message(message.channel, 'Calculating messages...')
async for log in client.logs_from(message.channel, limit=100):
if log.author == message.author:
counter += 1
await client.edit_message(tmp, 'You have {} messages.'.format(counter))
elif message.content.startswith('!sleep'):
await asyncio.sleep(5)
await client.send_message(message.channel, 'Done sleeping')
client.run('token')
这基本上是在 GitHub 页面中给出的基本 Discord.py 脚本。然而,我似乎无法弄清楚如何让它真正加入我的服务器。当将此行插入 on_ready
函数时:
server = await client.accept_invite('instant-invite-code')
我将“instant-invite-code”替换为我的实际即时邀请码(我尝试过discord.gg/code和code),我得到
discord.errors.Forbidden: FORBIDDEN (status code: 403): Bots cannot use this endpoint
记录日志确实有效;我可以获得带有我的用户名和ID的输出。我的机器人已在Discord API上注册,并且我已经拥有一个令牌。