я хотел сделать так
1)я получаю айдишники всех войс каналов
2)прогоняю их через рандом
3)пользователь подключается к определенному каналу if after.channel.id == тут айди канала :
4)его телепортирует на рандомный войс канала который я получил выше во 2 ом пункте
5)он выходит канал не удаляется
Все бы хорошо ... но я не могу понять как передать теперь правильно айдишник который получил через рандом выдает
ошибку что я передаю как то не так .. помогите перегуглил уже все что можно и пересмотрел мануал по пайтону не могу понять (
он создает новый канал а как это видоизменить я так и не нашел..
нужно не создавать новый а перемещать уже с имеющего
но там атрибуты нужны а как и что я не выкупаю..
@bot.event
async def on_voice_state_update(member, before, after):
guild = bot.get_guild(ттут айди сервера )
channell_ = []
voice_channel_list = guild.voice_channels
for channel in guild.voice_channels:
channell_.append(f"{channel.id}")
with open('channell_.json', 'w') as f:
json.dump(channell_, f)
if after.channel != None:
if after.channel.id == тут айди канала который будет перебрасывать
with open('channell_.json') as json_file:
data = json.load(json_file)
channel2 = (random.choice(data))
print(f"{channel2}")
channel2 = await after.channel.clone(name=123)
await channel2.set_permissions(member, connect = True, mute_members = True, manage_channels = True)
await member.move_to(channel2)
Ошибка
ERROR - discord.client : Ignoring exception in on_voice_state_update
payload['channel_id'] = voice_channel and voice_channel.id
AttributeError: 'str' object has no attribute 'id'