在discord.py中,可以通过on_member_update
事件来获取用户的活动信息。该事件会在用户的活动状态发生变化时触发。
下面是一个示例代码,展示了如何使用discord.py获取用户活动:
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.presences = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_member_update(before, after):
if before.activity != after.activity:
activity = after.activity
if isinstance(activity, discord.Game):
print(f'{after.name}正在玩 {activity.name}')
elif isinstance(activity, discord.Streaming):
print(f'{after.name}正在直播 {activity.name}')
elif isinstance(activity, discord.Spotify):
print(f'{after.name}正在听 {activity.title}')
# 其他活动类型的判断...
bot.run('YOUR_BOT_TOKEN')
在上述代码中,通过监听on_member_update
事件,并判断用户的活动类型,可以获取用户的活动信息。当用户的活动状态发生变化时,会触发该事件,然后通过activity
属性可以获取到用户的活动对象。
需要注意的是,为了能够获取到用户的活动信息,需要在创建Bot
实例时开启discord.Intents
的presences
属性。
上述代码只是一个简单的示例,你可以根据需要对获取到的活动信息进行进一步处理,例如将活动信息发送至特定频道或进行其他操作。
此外,对于discord.py的更详细文档和使用说明,你可以参考腾讯云推出的云开发官方文档中discord.py的相关部分: discord.py 文档
领取专属 10元无门槛券
手把手带您无忧上云