@OLIMPIK

В чем заключаеться ошибка?

Вот код -
@bot.command(aliases = ['givecash'])
async def __givecash(ctx, member: discord.Member = None, arg: int = None):
    if arg is None:
        await ctx.send(embed = discord.Embed(title = 'Ошибка!', description = 'Укажите пожалуйста число денег для добавления\n**Пример:** *a!setcash @member 100*'), delete_after = 8)
    else:
        if member is None:
            for row in (f"SELECT cash FROM users WHERE id = {ctx.author.id}"):
                q1 = row[0] + arg
                cursor.execute(f"UPDATE users SET cash = q1 WHERE id = {ctx.author.id}")
                conn.commit

        else:
            for row in (f"SELECT cash FROM users WHERE id = {member.id}"):
                q = row[0] + arg
                cursor.execute(f"UPDATE users SET cash = q WHERE id = {member.id}")
                conn.commit

Ошибка -
File "cheats.py", line 252, in __givecash
    q = row[0] + arg
TypeError: can only concatenate str (not "int") to str
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
В том, что нельзя складывать число со строкой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@o5a
вместо "select ..", q= ... прибавлять сумму в самом SQL:
cursor.execute("UPDATE users SET cash = cash + ? WHERE id = ?", (arg, member.id))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы