我想通过向聊天发送命令来更改自身机器人的存在(例如,!setstatus idle),但是我不确定将x.change_presence设置为什么,除了它应该是机器人对象之外。
齿轮文件(/ discord bot / cogs / Bots.py)
class Bots(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def setstatus(self, ctx, status='online'):
print('Changing Status')
if status.lower() == 'online':
await ctx.change_presence(status=discord.Status.online)
elif status.lower() == 'idle'
await ctx.change_presence(status=discord.Status.idle)
主脚本(/ discord bot / main.py)
for i in range(len(tokens)):
bot = commands.Bot(command_prefix='!',self_bot=False)
loop.create_task(bot.start(tokens[i], bot=False))
extensions = ['cogs.Bots']
if __name__ == '__main__':
for extension in extensions:
bot.load_extension(extension)
loop.run_forever()
答案 0 :(得分:-1)
该命令将是您的机器人的实例。
self.bot.change_presence(status = discord.Status.idle)