我正在使用DISBOARD站点升级服务器。我想计算每个用户的颠簸次数,这样我就可以奖励他们的参与。有没有可能计算一个给定的用户使用JS或Python机器人的命令使用量?我试着搜索一些已经存在的机器人,这样做。
qjp7pelc1#
是的,这有两种可能,要么检查命令的每条消息,要么用完全相同的命令设置一个机器人,这样当触发碰撞时,它也会触发我们的机器人。我选择了下面的第二个选项。
@bot.command() async def bump(ctx): user_id = str(ctx.message.author.id) with open('bump_counts.json', 'r') as f: counts = json.load(f) if user_id in counts: counts[user_id] += 1 else: counts[user_id] = 1 with open('bump_counts.json', 'w') as f: json.dump(counts, f) await ctx.send(f'{ctx.message.author.mention} has bumped {counts[user_id]} times!')
只要运行!bump命令,此代码就会触发一个碰撞日志和消息,但不会检查DISBOARD bot是否实际回复,这意味着人们可能会发送垃圾邮件。在尝试使用此命令之前,请确保创建一个名为bump_counts.json的文件,其中包含{};或者使用您自己的解决方案和/或数据库。您可以使用bot.wait_for协程来检查DISBOARD是否发送了消息,然后检查该消息是否是成功的bump,只需将此逻辑添加到bump命令即可。
!bump
bump_counts.json
{}
bot.wait_for
1条答案
按热度按时间qjp7pelc1#
是的,这有两种可能,要么检查命令的每条消息,要么用完全相同的命令设置一个机器人,这样当触发碰撞时,它也会触发我们的机器人。我选择了下面的第二个选项。
只要运行
!bump
命令,此代码就会触发一个碰撞日志和消息,但不会检查DISBOARD bot是否实际回复,这意味着人们可能会发送垃圾邮件。在尝试使用此命令之前,请确保创建一个名为
bump_counts.json
的文件,其中包含{}
;或者使用您自己的解决方案和/或数据库。您可以使用
bot.wait_for
协程来检查DISBOARD是否发送了消息,然后检查该消息是否是成功的bump,只需将此逻辑添加到bump命令即可。