在没有聊天的情况下识别某人正在玩的游戏(不和谐的僵尸蟒蛇) [英] Recognizing a game that someone is playing without chatting(discord bot python)

查看:31
本文介绍了在没有聊天的情况下识别某人正在玩的游戏(不和谐的僵尸蟒蛇)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(不和谐僵尸蟒蛇)

代码是,如果有人聊天,如果此人正在玩Overwatch,他或她将被提升为Gamer角色,如果不是,他或她将被删除,否则将不会发生任何事情。但是我在寻找一种不聊天就能认出正在玩的游戏的方法。有人能帮帮我吗?

@client.event
async def on_message(message):
    man = message.author.activity.name
    role = discord.utils.get(message.guild.roles, name="Gamer")
    if man == "Overwatch":
        await message.author.add_roles(role)
    else:
        await message.author.remove_roles(role)

推荐答案

只要成员更改其活动就会触发on_member_update事件:

@client.event
async def on_member_update(before, after)
    role = discord.utils.get(after.guild.roles, name="Gamer")
    if before.activities != after.activities:
        name = "Overwatch"
        before_name = any(activity.name for activity in before.activities)
        after_name = any(activity.name for activity in after.activities)
        if not before_name and after_name:
            await after.add_roles(role)
        elif before_name and not after_name:
            await after.remove_roles(role)

这篇关于在没有聊天的情况下识别某人正在玩的游戏(不和谐的僵尸蟒蛇)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆