discord.py - discord.py 我无法运行 server-info 命令
问题描述
我最近使用 discord.py 进行编程,经过几次搜索后,我仍然找不到实现此命令的方法(这也导致我在处理其他从服务器请求信息的命令时遇到问题),因此如果可以的话,我需要帮助。在这种情况下,我想创建一个为我提供服务器信息的命令。
Traceback (most recent call last):
File "C:\Users\PC GIUSEPPE\PycharmProjects\untitled\venv\lib\site-packages\discord\ext\commands\bot.py", line 892, in invoke
await ctx.command.invoke(ctx)
File "C:\Users\PC GIUSEPPE\PycharmProjects\untitled\venv\lib\site-packages\discord\ext\commands\core.py", line 797, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "C:\Users\PC GIUSEPPE\PycharmProjects\untitled\venv\lib\site-packages\discord\ext\commands\core.py", line 92, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'server' is not defined
代码:
@client.command(aliases=["serverinfo","Server_info","Serverinfo","SERVERINFO","si","Si","SI"])
@commands.has_any_role('Moderatori', 'Triumvirato', 'Co-Triumvirato', 'Senatori', '690956686147453048')
async def ServerInfo(ctx):
author = ctx.author.name
name_server = server.name
create_server = server.create
owner_server = server.owner.name
embed = discord.Embed(
title="Informazioni del server",
description=f'Tutte le informazioni generali del nostro server {name_server}',
color=0x003399
)
embed.set_thumbnail(url='')
embed.set_footer(text=f'Richiesto da: {author}')
embed.add_field(
name='Server creato il:',
value='f{create_server}',
)
embed.add_field(
name='Owner Attuale del server:',
value='f{create_server}',
)
embed.add_field(
name='Server creato il:',
value=f'{create_server}',
)
embed.add_field(
name='Server creato il:',
value=f'{owner_server}',
)
解决方案
你没有server
在你的代码中定义,这就是你有这个错误的原因。
Server
是机器人所在的不和谐服务器的旧 discord.py 参考。现在,您必须Guild
像这样使用:
@client.command()
async def ServerInfo(ctx):
author = ctx.author.name
guild = ctx.guild
name = guild.name
create_server = server.created_at
owner_server = server.owner.name
(...)
您还可以创建这些信息的字典:
@client.command()
async def ServerInfo(ctx):
author = ctx.author.name
guild = ctx.guild
infos = {
'name': guild.name
'owner': guild.owner.name
'created_at': guild.created_at
}
(...)
如果您真的不知道 discord.py(v1.0 之前)和 discord.py@rewrite(v1.0 之后)之间的区别,这里有一个摘要链接。
推荐阅读
- apache-flink - 谈到 Flink 异步 IO 时,“容量”参数是什么?
- single-page-application - oneToMany JPA 春天
- postgresql - 如何在 PostgreSQL Auto Vaccum 中停止分析
- java - 需要优化的 Map(k,v) 例如 (long, long[]),以避免自动装箱
- r - group_by dplyr 返回单值后总结
- python - 当您无法访问启动线程的变量时,如何在 Python 中停止线程?
- typescript - VueJs typescript recursive child components(抛出 [Vue warn]: Unknown custom element)
- python - 使用 numpy 逐像素矢量化 2 个窗口图像集之间的误差计算
- angular - 在 Angular/Karma/Jasmine 中测试 iframe 返回跨站点脚本错误
- assign - 将值分配给框架内小部件的属性