嘿,我正在用Python开发Discord Bot。这是文档:https://discordpy.readthedocs.io/en/latest/index.html
我会问一个问题。我用Python做一个不一致的机器人,需要帮助:
是否可以在与我相关的不和谐机器人中发挥作用?我想在on_raw_reaction_add事件中包含整个票务系统。这有可能吗?如果这不可能,那么如何参考例如给定的票证?
我想在票务系统中加入一个条件。创建票证时,用户获得等级“ A”。如果他已经具有该等级,则机器人将向他发送消息,他已经创建了票证,并且将无法创建其他票证。有谁知道如何检查用户的排名?我知道@ command.has_role存在,但这不适用于某种条件。
这是我的代码:
@client.event
async def on_raw_reaction_add(payload):
message_id = payload.message_id
if message_id == 701490140110913568:
guild_id = payload.guild_id
guild = discord.utils.find(lambda g : g.id == guild_id, client.guilds)
if payload.emoji.name == 'koperta':
print("zlotek")
channel = client.get_channel(payload.channel_id)
message = await channel.fetch_message(payload.message_id)
user = client.get_user(payload.user_id)
emoji = client.get_emoji(700845595103068211)
await message.remove_reaction(emoji, user)
name = '✅ OPENED TICKETS ✅'
category = discord.utils.get(guild.categories, name=name)
overwrites = overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
guild.me: discord.PermissionOverwrite(read_messages=True)
}
await guild.create_text_channel(f'Ticket-0001', category=category, overwrites=overwrites)
role = discord.utils.get(guild.roles, name='A')
member = discord.utils.find(lambda m : m.id == payload.user_id, guild.members)
await member.add_roles(role)
感谢您提供各种形式的帮助。你是最好的