Мне нужен Self-bot discord который по команде заходит в определенный канал. (Знаю что такие селф-боты запрещены по правилам сообщества)
@bot.command()
async def c(ctx):
channel = bot.get_channel(888744193076387881)
await channel.connect() # use the channel object you put into a variable
Получаю ошибку
AttributeError: 'TextChannel' object has no attribute 'connect'
The above exception was the direct cause of the following exception:
И если кто сможет, команду для дисконекта с этого канала, заранее благодарю за помощь.
nikto_211, ещё раз:
channel = bot.get_channel(888744193076387881) <- ты указал айдишник канал, который тебя интересует.
Но это неправильный айдишник, он принадлежит текстовому каналу, а не голосовому. И discord.py отдаёт тебе описание этого текстового канала, будучи уверен, что тебе это надо.
Какой должен быть правильный - я без понятия. Ты знаешь, на каком сервере твой бот будет работать, вот и узнавай, какой id у нужного тебе канала.
Если из интерфейса дискорда узнать не можешь - придётся хитрить. Например,
1. получаешь объект сервера вызовом client.get_guild(). Уж id сервера узнать сможешь, я надеюсь.
2. На полученном объекте дергаешь свойство .voice_channels и перебираешь его циклом for
3. Для каждого элемента этого списка выводишь свойства .id и .name в консоль. Вот тут уже и узнаешь, какой правильный id для интересующего тебя голосового канала.
nikto_211, хммм. Попробуй прогони алгоритм, который я выше написал.
В принципе, вместо вывода id и name можно просто проверить name и сделать connect() если оно совпало с желаемым.