我开始编写一个机器人,当提示时,它会给我一定数量的唯一1次使用邀请链接到服务器内预先指定的通道中的服务器。我得到错误IndexError: list index out of range
代码:
import discord
token = 'my discord bot token'
client = discord.Client()
number_of_links = input('How many links do you want to create? ')
@client.event
async def on_ready():
g = client.guilds[809743502665056306] # getting the error here
c = g.get_channel(809803698212700190)
invites = await discord.abc.GuildChannel.invites(c)
while len(invites) < int(number_of_links):
print('CREATING INVITES')
for i in range(int(number_of_links)): # Create as many links as needed
i = await discord.abc.GuildChannel.create_invite(c, max_uses=1, max_age=0, unique=True) # Create the invite link
break
print('Finished. Exiting soon...')
exit()
client.run(token)
我也尝试使用g = client.guilds.get(809743502665056306)
,但后来我得到AttributeError: 'list' object has no attribute 'get'
。
我是在错误地声明公会吗?
您可以使用client.get_guild(809743502665056306)
代替client.guilds[809743502665056306]
来解决错误。关于get_guild函数的更多细节请点击这里。
on_ready
函数在bot运行时被调用多次,所以您可能想要创建一个命令而不是使用事件。