首页 > 解决方案 > Discord bot创建独特的邀请链接公会错误

问题描述

我开始编写一个机器人,当出现提示时,它会给我一定数量的唯一一次使用邀请链接到服务器内预先指定的频道中的服务器。我收到错误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'.

我是否试图错误地声明公会?

标签: pythondiscorddiscord.py

解决方案


您可以使用client.get_guild(809743502665056306)而不是client.guilds[809743502665056306]解决错误。有关 get_guild 函数的更多详细信息,请参见此处

on_ready函数在机器人运行时被多次调用,因此您可能想要发出命令而不是使用事件。


推荐阅读