如何让我的 discord.py 机器人计算某个人发送的消息数量?

时间:2021-01-03 01:12:09

标签: discord.py

我正在尝试制作一个类似于 mee6 的 Discord 机器人,因为它会以特定时间间隔计算用户在我的 Discord 服务器中发送的消息。我已经在网上搜索过,即使有类似的问题也找不到我要找的东西。例如,我能够找到一些代码来计算在一个特定频道中发送的消息数量。我还能够找到我基本上正在寻找的东西,即在公会中发送的全部消息,但它是用 Java 编写的。我希望这可以缩小我的问题,并提前感谢您。

1 个答案:

答案 0 :(得分:0)

您可以像这样将作者和消息数存储在 Dictionary 中:

messageCount = {}

@client.event
async def on_message(ctx):
    author = str(ctx.author)
    if author in messageCount:
        messageCount[author] += 1
    else:
        messageCount[author] = 1
    
    await client.process_commands(ctx)

所以,字典看起来像这样:

messageCount = {
    'user#1532': 52,
    'user#0864': 742,
    'user#0067': 662,
    ...
}

注意:一旦机器人离线,所有数据都将被删除,因此我将这些数据存储在外部文件或数据库中会更安全。我希望这个答案能让您了解如何开始。