У меня есть команда для ручной установки идентификатора секретного канала:
@client.command(aliases=['secret', 'setSecretChannel'])
@commands.has_permissions(administrator=True)
async def set_secret_channel(ctx, id):
global secret_channel_id
secret_channel_id = id
await ctx.send("ID set")
Другая команда использует secret_channel_id для перемещения пользователя в секретный канал:
@client.command()
@commands.has_role('VIP')
async def joinSecret(ctx, password):
author = ctx.message.author
if password == joinSecret_password:
await author.move_to(secret_channel_id)
await ctx.send("Password correct")
else:
await ctx.send("Password incorrect")
# delete author's message
Однако возникает следующая ошибка:
AttributeError: 'str' object has no attribute 'id'
Есть ли способ конвертировать строку в идентификатор канала?
РЕДАКТИРОВАТЬ
await author.move_to(int(secret_channel_id))
Преобразование в int, похоже, тоже не работает, теперь ошибка:
AttributeError: 'int' object has no attribute 'id'