Как узнать, сколько сообщений отправлено на канал - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь получить количество сообщений, отправленных по каналу, и использование функции logs_from () не работает, поскольку она принимает только фиксированное количество сообщений для извлечения, как мне это сделать?

1 Ответ

0 голосов
/ 07 сентября 2018

В ветви есть TextChannel.history AsyncIterator. Если вы передадите limit=None, он вернет все сообщения с канала

@bot.command()
async def message_count(ctx, channel: discord.TextChannel=None):
    channel = channel or ctx.channel
    count = 0
    async for _ in channel.history(limit=None):
        count += 1
    await ctx.send("There were {} messages in {}".format(count, channel.mention))

Вы можете попытаться передать limit=None в logs_from, но это не задокументировано так, как это работает в ветке перезаписи.

...