使用贴图新增与移除身分组

使用Auttaja

  • 点击Dashboard

  • 选择Assignable & Giveable Roles

  • 在聊天室输入 -assignrole 海豹 (海豹是我这边设置的身分组)

使用Atias

  • 选择roles

  • 在下方可以自定义

  • 示意图

使用自定义的Bot

  • 身分组的部分请自己是先设定

  • 使用reaction来查看表情符号

# cogs/reaction.py
# 略
@commands.Cog.listener()
async def on_reaction_add(self, reaction, user):
    print(reaction)
  • 结果示意图

  • 再来使用on_raw_reaction_add()

@commands.Cog.listener()
async def on_raw_reaction_add(self, user_data):
    if user_data.message_id == 你指定的留言:
        if str(user_data.emoji) == "指定的符号":
            # 取得服务器
            guild = self.bot.get_guild(user_data.guild_id)
            # 指定身分组
            role = guild.get_role(身分组ID)
            await user_data.member.add_roles(role)
            await user_data.member.send(f"你取得了{role}身分组")
  • on_raw_reaction_remove()的部分
@commands.Cog.listener()
async def on_raw_reaction_remove(self, user_data):
    if user_data.message_id == 你指定的留言:
        if str(user_data.emoji) == '指定的符号':
            # 取得服务器
            guild = self, bot.get_guild(user_data.guild_id)
            user = await guild.fetch_member(user_data.user_id)
            await user.remove_roles(guild.get_role(身分组ID))
            await user.send(f"已移除{role}身分组"")
  • 示意图

  • 可以到审核日志查看

备注

  • 因为只有on_raw_reaction_add()能使用member,所以删除可以拿user_id代替

<<:  大共享时代系列_008_共享居家照护

>>:  Day24 测试写起乃 - Guard

D15 下载功能测试

一样先确认使用者在文件库有哪些文件 确认传送来的文件doc_id是属於使用者 确认文件存在後回传Ht...

Day20 :【TypeScript 学起来】是 JavaScript 没有的 Function Overloads(函式超载)

终於20天了,那个心情就是有点开心快结束了,但对後面10篇感到担忧,既期待又怕无法完赛 XDD 好...

Longest Increasing Subsequence (最长递增子序列)

记录学习内容。看网路上大大们的文章和影片,做些纪录。 还不了解,内容可能有错误。 Longest I...

[Day 14] 回测分析

什麽是回测? 在金融领域,回测通过测试交易策略,并根据历史资料的表现来核查其可行性。换句话说,它使用...

.NET Core第4天_middleware是舍麽?

中介软件为组成应用程序管线的软件,用以处理要求与回应, .net core中定义的中介则可以说是用来...