iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

Python Discord Bot(DC機器人)系列 第 29

Python Discord Bot#29- 貼圖反應 (一)

  • 分享至 

  • xImage
  •  

主要偵測 反應圖案的訊息

偵測反應

@client.event on_raw_reaction_add 也就是webhook 中 事件就有可以偵測反應

回傳為 discord.RawReactionActionEvent

內容 說明
channel_id 頻道ID
emoji 使用的表情
event_type 添加表情 or 去除
guild_id 伺服器ID
member 伺服器成員資訊
message_id 訊息ID
user_id 新增反應或刪除反應的使用者 ID

Example

@client.event
  async def on_raw_reaction_add(payload):
    print(payload)

payload 輸出內容

https://ithelp.ithome.com.tw/upload/images/20230928/201060715uD7d4Vv7J.jpg

Example

from discord.commands import Option


def main(Bot):
    name = "貼圖反應"
    print(f"{name} 註冊成功")
    emojis = {1: "1️⃣", 2: "2️⃣", 3: "3️⃣", 4: "4️⃣", 5: "5️⃣", 6: "6️⃣", 7: "7️⃣", 8: "8️⃣", 9: "9️⃣", 10: "🔟"}

  
    @Bot.slash_command(name="1233", description="建立訊息並帶數量貼圖反應")
    async def react(ctx, number: Option(int, "建立數量", min_value=1, max_value=10, required=True)):

        await ctx.respond("建立了一個訊息")
        request = await ctx.send("測試訊息")

        for emoji in range(number):
            await request.add_reaction(emojis[emoji + 1])

https://ithelp.ithome.com.tw/upload/images/20230928/201060715qyeAtlXCg.png


上一篇
Python Discord Bot#28 - 做中學 - 做個終極密碼(三)
下一篇
Python Discord Bot#30- 貼圖反應 (二)
系列文
Python Discord Bot(DC機器人)31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言