Discord.py ctx.guild.edit works but not self.bot.guild.edit?(Discord.py ctx.guild.edit 有效,但 self.bot.guild.edit 无效?)
问题描述
正如标题所说,我正在尝试进行公会编辑,但在一个事件中.这是我的部分代码:
Like the title says, I'm trying to do guild edits but on an events. Here's part of my code:
@commands.guild_only()
async def on_ready(self):
server = self.bot.get_guild("serverid")
while True:
await self.bot.guild.edit(guild=server, name="foo")
await asyncio.sleep(1)
await self.bot.guild.edit(guild=server, name="bar")
await asyncio.sleep(1)
我已经使用独立命令对其进行了测试,所以我知道 ctx.guild.edit 可以工作,但我不确定如何让它在事件中工作.
I've already tested it with a standalone command, so I know that ctx.guild.edit works but I'm not sure how to get it to work in an event.
推荐答案
你应该调用 edit 直接来自 Guild 对象 server
async def on_ready(self):
server = self.bot.get_guild(SERVER_ID)
while server is not None:
await server.edit(name="foo")
await asyncio.sleep(1)
await server.edit(name="bar")
await asyncio.sleep(1)
另外,请确保您将公会的 id 作为 int 而不是字符串传递,并且 guild_only 装饰器只能用于命令.
Also, make sure that you're passing the id of the guild as an int and not a string, and the guild_only decorator should only be used on commands.
这篇关于Discord.py ctx.guild.edit 有效,但 self.bot.guild.edit 无效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Discord.py ctx.guild.edit 有效,但 self.bot.guild.edit 无效?
基础教程推荐
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
