繁体   English   中英

Discord.py NameError:未定义名称'ctx'

[英]Discord.py NameError: name 'ctx' is not defined

我正在学习 python,我正在开发一个不和谐的机器人。 我想制作一个自动角色系统,但它显示未定义“ctx”。 这是代码:

import discord
from discord.ext import commands


intents = discord.Intents().all()
client = commands.Bot(command_prefix="?", intents=intents)
client.remove_command('help')

server = ctx.message.server


perms = discord.Permissions(administrator=True)


@client.event
async def on_ready():
    client.create_role(server, name='Unverified', permissions=perms)


@client.event
async def on_member_join(member):
    role = discord.utils.get(member.guild.roles, name='Unverified')
    await member.add_roles(role)

这是行不通的,因为 ctx 没有在任何地方定义检查此代码以了解 ctx 值如何在命令中工作,还有其他方法可以做到这一点,但我是这样做的:

@client.command()
async def hello(ctx):
    await ctx.send('hello')

这是一个使用 ctx 的基本命令,如果你想将你的值放入“@client.command”中,你必须使用它

正如@PranavHosangadi 在评论中所说,需要定义ctx 导入discord模块时,它不是继承/包含的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM