13
Авг
2022

Ошибка с базой данных sqlite3

Я написал программу, которая при подключении к определенному голосовому каналу, создает отдельный голосовой канал, а при использовании команды - изменяет имя канала, но у меня возникла проблема, мой код записывает в базу данных непонятную чушь. Я пытаюсь записать переменную name_channel в столбец voiceprivat таким способом: cursor.execute(f'UPDATE users SET voiceprivat="{name_channel}" WHERE id={mes.author.id}') Но вместо данных, код записывает просто имя и тег пользователя, а должен записывать содержимое name_channel. Вот полный код:

@bot.command()
async def voice_name(mes,name_channel:str=None):
    cursor=connection.cursor()
    if cursor.execute(f'SELECT voiceprivat FROM users WHERE id={mes.author.id}').fetchone()[0]=='':
        await mes.send('**Вы не вошли в приватный канал!**')
    else:
        if name_channel==None:
            await mes.send('**Вы забыли указать новое имя канала!**')
        elif name_channel==' ':
            await mes.send('**Вы ввели неверное имя для канала!**')
        else:
            channel1 = discord.utils.get(bot.get_all_channels(), name=cursor.execute(f'SELECT voiceprivat FROM users WHERE id={mes.author.id}').fetchone()[0])
            cursor.execute(f'UPDATE users SET voiceprivat="{name_channel}" WHERE id={mes.author.id}')
            connection.commit()
            print(name_channel)
            await channel1.edit(name=name_channel)
    cursor.close()

Источник: https://ru.stackoverflow.com/questions/1439063/%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D1%81-%D0%B1%D0%B0%D0%B7%D0%BE%D0%B9-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-sqlite3

Тебе может это понравится...

Добавить комментарий