【发布时间】:2021-06-04 15:17:30
【问题描述】:
我正在尝试制作一个不和谐机器人,它可以为做出反应的成员添加角色......到目前为止我已经完成了......第一部分正在工作,但我无法添加角色反应时。尝试了很多事情,我迷路了..你能帮我吗?非常感谢:)
import discord
from discord import Embed
from discord.utils import get
from discord.utils import find
from discord.ext import commands
class color(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self):
print('Module "Color" prêt.')
@commands.command()
async def color(self, ctx, help="permet d'assigner des rôles en fonction de la couleur choisie"):
embed = (Embed(title="Choisis ton rôle! Réagis avec la couleur que tu désires !", description="Quelle couleur veux-tu être?")
.add_field(name=":blue_heart:", value="Team Bleue", inline = False)
.add_field(name=":heart:", value="Team Rouge", inline = False)
.add_field(name=":green_heart:", value="Team Vert", inline = False)
.set_footer(text=f'Made by {ctx.author.display_name}'))
message = await ctx.send(embed=embed)
emojis = ['????', '❤️', '????']
for emoji in emojis:
await message.add_reaction(emoji)
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload):
member = payload.member
if member.bot:
return
guild = self.bot.get_guild(payload.guild_id)
role = discord.utils.get(guild.roles, name="TeamBleue")
member = guild.get_member(payload.user_id)
if str(payload.emoji) == '????':
await member.add_roles(role, reason="TeamBleue")
@color.error
async def color_error(self, ctx, error):
if isinstance(error, commands.NotOwner):
await ctx.send('''Désolé, tu n'as pas le droit de faire ceci :)''', delete_after=3)
await ctx.message.delete(delay=3)
def setup(bot):
bot.add_cog(color(bot))
【问题讨论】:
-
你能添加你的回溯吗?
-
我怎样才能拥有它? :o
-
您尝试添加角色时的控制台输出。
-
"忽略 on_raw_reaction_add Traceback 中的异常(最近一次调用最后一次):文件“/home/ubuntu/.local/lib/python3.8/site-packages/discord/client.py”,第 333 行, 在 _run_event await coro(*args, **kwargs) File "/home/ubuntu/axel/cogs/color.py", line 35, in on_raw_reaction_add guild = bot.get_guild(payload.guild_id) NameError: name 'bot'未定义”
-
对不起,不知道为什么我之前什么都没有
标签: python discord.py roles