Python 如何将此事件转换为适当的状态命令,在将其添加到公会时循环更新其状态?不和谐
我有一个正在使用on_ready的事件,我知道我可能不应该使用on ready事件来更新我想更新的内容,如果它被添加到一个服务器或者一个服务器得到一个加入的用户 所以我的意思是:如果我的机器人被添加到服务器上,我希望它的状态改变,当它被删除时,我希望它的状态改变。如果服务器获得新成员,我还希望它在bots状态下更新membercount。我知道利率限制是一件事,所以我会推迟。我有一个事件,我需要转换为一个正确的命令,但我不知道如何,你能帮我吗?(对于拼写/语法错误,我深表歉意,我写这篇文章的时候现在是凌晨3点,我真的很想睡觉) 以下是事件(我使用cogs):Python 如何将此事件转换为适当的状态命令,在将其添加到公会时循环更新其状态?不和谐,python,discord.py,Python,Discord.py,我有一个正在使用on_ready的事件,我知道我可能不应该使用on ready事件来更新我想更新的内容,如果它被添加到一个服务器或者一个服务器得到一个加入的用户 所以我的意思是:如果我的机器人被添加到服务器上,我希望它的状态改变,当它被删除时,我希望它的状态改变。如果服务器获得新成员,我还希望它在bots状态下更新membercount。我知道利率限制是一件事,所以我会推迟。我有一个事件,我需要转换为一个正确的命令,但我不知道如何,你能帮我吗?(对于拼写/语法错误,我深表歉意,我写这篇文章的时候
我知道这个网站不是专门针对编码问题的,我只是没有其他更好的地方可以问,我知道我需要阅读文档并了解更多,但这就是我在我的机器人中修复/更改的全部内容,然后我可以最终发布它。如果你们中有人能帮我解决这个问题,那将是最好的,提前谢谢。不要在您的
Bot
或Client
中更改on\u ready
中的状态。基本上,除了print语句之外,不要在\u ready上的中执行任何操作。有明确的文档记录,可以多次触发该语句
现在,为了回答您的问题,您可以使用一个简单的方法每15秒更新一次您的状态:
from discord.ext.tasks import loop
@loop(count=None, seconds=15)
async def presence_loop():
await client.wait_until_ready()
await self.bot.change_presence(
activity=discord.Activity(
type=discord.ActivityType.watching,
name=f"tp!help v.{self.config.version} {len(self.bot.guilds)} Servers and {len(self.bot.users)} Users"))
presence_loop.start()
client.run('token')
在类内:
class ExampleClass(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.presence_loop.start()
@loop(count=None, seconds=15)
async def presence_loop(self):
await self.bot.wait_until_ready()
await self.bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching,
name=f"tp!help v.{self.config.version} {len(self.bot.guilds)} Servers and {len(self.bot.users)} Users"))
非常感谢,这正是我需要的。你认为你可以编辑它,使其适合齿轮吗?
class ExampleClass(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.presence_loop.start()
@loop(count=None, seconds=15)
async def presence_loop(self):
await self.bot.wait_until_ready()
await self.bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching,
name=f"tp!help v.{self.config.version} {len(self.bot.guilds)} Servers and {len(self.bot.users)} Users"))