【发布时间】:2023-03-04 10:16:01
【问题描述】:
也就是说,如果用户对带有“书签”表情符号的任何消息做出反应,我希望机器人通过 DM 将该消息发送给用户。
这是我的第一个机器人,因此不胜感激。这是我目前所拥有的 - 我只是希望机器人现在只需识别书签表情符号并在频道中回复,然后我将在此基础上向用户发送 DM。
import discord
from discord.ext import commands
from discord import Color, Embed, Member, Message, RawReactionActionEvent, User
import os
client = discord.Client()
@client.event
async def on_ready():
print('We have logged in as {0.user}'.format(client))
bot = commands.Bot("!")
@staticmethod
def _payload_has_bookmark_emoji(payload: RawReactionActionEvent) -> bool:
#Test if the RawReactionActionEvent payload contains a bookmark emoji.
if str(payload.raw.emoji) == "????":
return True
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload: RawReactionActionEvent) -> None:
channel = discord.utils.get(self.bot.get_all_channels(), id=payload.channel_id)
message = await channel.fetch_message(payload.message_id)
member = discord.utils.get(message.guild.members, id=payload.user_id)
if self._payload_has_bookmark_emoji(payload) is True:
print("Hello!")
await message.channel.send('Hello!')
client.run(os.getenv('TOKEN'))
运行此代码并通过使用书签表情符号对消息做出反应来进行测试没有任何作用,所以我不确定我哪里出错了。
任何帮助将不胜感激:)
【问题讨论】:
标签: python discord discord.py