Discord не будет редактировать имя voice_channel после одного или двух изменений - PullRequest
0 голосов
/ 19 июня 2020

Я хочу добавить в свой DiscordBot функцию, показывающую количество участников в форме имени voice_channel. Число участников также должно обновляться, если кто-то присоединяется к серверу или покидает его.

Вот код:

async def memberUpdate(guild):
    categories = discord.utils.get(guild.categories, name="Stats")
    voice = discord.utils.get(categories.voice_channels, name=str(categories.voice_channels[0])) # Get the first voice_channel in this category

    update = "Member count: " + str(guild.member_count) 
    await voice.edit(name=update) # Edit voice channel

# First Time setting it up with "stats"-command
@bot.command()
async def stats(ctx):
    guild = ctx.message.guild

    # Write message, if this category already exists!
    if discord.utils.find(lambda m: m.name == "Stats", guild.categories):
        await ctx.message.channel.send("The category already exists!")

    # If not, do this:
    elif discord.utils.find(lambda m: m.name == "Stats", guild.categories) is None:
        await guild.create_category("Stats")
        category = discord.utils.get(guild.categories, name="Stats")

        await category.create_voice_channel("Member count: ")

        await memberUpdate(guild) # Update it for the first time when set up

@bot.event
async def on_member_join(member):
    guild = member.guild

    await memberUpdate(guild)

@bot.event
async def on_member_remove(member):
    guild = member.guild

    await memberUpdate(guild)

Для понимания, я перевел только имена и комментарии.

Когда я устанавливаю его в первый раз, memberUpdate работает нормально, обновляя количество участников. Когда я позволял кому-то присоединиться к серверу, он также активировал функцию обновления. Но когда я удаляю одного и того же человека, это ничего не меняет. Я пытался выяснить, вызывает ли событие on_member_remove проблемы, но когда я снова устанавливаю его u и удаляю кого-то first , количество участников обновляется. После этого он просто больше не будет редактировать.

Это проблема Discord, что не может так быстро менять имена каналов? Или это проблема в моем коде?

1 Ответ

0 голосов
/ 19 июня 2020

См. Ответ Дигги здесь: Discord.py Bot, переименовывающий VoiceChannel, работает только иногда

API был обновлен, чтобы разрешать только 2 обновления свойств канала каждые 10 минут.

...