亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我對消息作出反應時,機器人不想添加角色

當我對消息作出反應時,機器人不想添加角色

莫回無 2023-10-18 11:03:07
我想制作一個機器人,當成員對消息做出反應時,它會為成員添加角色。@client.eventasync def on_raw_reaction_add(reaction, member: discord.Member):    ChID = '678640775747076097'    if reaction.message != ChID:        await member.send("Nope")        return    else:        if member.reaction.emoji == ":white_check_mark:":            Role = discord.utils.get(member.server.roles, id="672473925053055036")            await client.add_roles(member, Role)            await user.send("Success")當我回復消息時,出現以下錯誤:TypeError: on_raw_reaction_add() missing 1 required positional argument: 'member'
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

這是因為on_raw_reaction_add函數不應該期望接收member參數,而只能接收payload: discord.RawReactionActionEvent參數。


嘗試這個:


@client.event

async def on_raw_reaction_add(payload):

? ? reaction_message_id = payload.message_id

? ? member = payload.member

? ? ChID = '678640775747076097'

? ? if reaction_message_id != ChID:

? ? ? ? await member.send("Nope")

? ? ? ? return

? ? else:

? ? ? ? if member.reaction.emoji == ":white_check_mark:":

? ? ? ? ? ? Role = discord.utils.get(member.server.roles, id="672473925053055036")

? ? ? ? ? ? await client.add_roles(member, Role)

? ? ? ? ? ? await user.send("Success")

因為它是有關如何從有效負載中獲取所需屬性的示例。

查看完整回答
反對 回復 2023-10-18
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號