嗨,我收到了错误
File "C:\Users\Tom\Documents\bot\cogs\misccoms.py", line 28, in giveRole
example = discord.utils.get(ctx.message.server.roles,name='Example')
AttributeError: 'Misccoms' object has no attribute 'message'
从这行代码中
@commands.command(pass_context=True, no_pm=True)
async def giveRole(ctx):
example = discord.utils.get(ctx.message.server.roles,name='Example')
await self.bot.add_roles(ctx.message.mentions[0], example)
此命令的功能应该在成员上放置角色,在这种情况下角色为Example
。
以下完整代码是
import discord
from discord.ext import commands
from .utils import checks
class Misccoms:
"""Misccoms"""
def __init__(self, bot):
self.bot = bot
#Tool Commands
@commands.command(pass_context=True, no_pm=True)
async def giveRole(ctx):
example = discord.utils.get(ctx.message.server.roles,name='Example')
await self.bot.add_roles(ctx.message.mentions[0], example)
def setup(bot):
bot.add_cog(Misccoms(bot))
我不确定我在哪里出错了。
答案 0 :(得分:0)
我认为修复是在'ctx'参数之前添加'self'参数。我测试了它,它对我有用。
import discord
from discord.ext import commands
class GiveRole():
def __init__(self, bot):
self.bot = bot
@commands.command(pass_context=True, no_pm=True)
async def giveRole(self, ctx):
example = discord.utils.get(ctx.message.server.roles,name='ExampleRole')
await self.bot.add_roles(ctx.message.mentions[0], example)
def setup(bot):
bot.add_cog(GiveRole(bot))