Python SQLite3 OperationalError: таблица shop имеет 2 столбца, но было предоставлено 3 значения - PullRequest
0 голосов
/ 13 июля 2020

Я создавал бота Discord, и когда я использовал команду (! Add-item @Role 15), он вылетел с сообщением: «OperationalError: table shop имеет 2 столбца, но было предоставлено 3 значения»! Вот код:

import discord
from discord.ext import commands

import sqlite3

client = commands.Bot(command_prefix='!')
client.remove_command('help')

connection = sqlite3.connect('server.db')
cursor = connection.cursor()

@client.event
async def on_ready():
  cursor.execute("""CREATE TABLE IF NOT EXISTS shop (
        role_id INT,
        id INT,
        cost BIGINT
    )""")

@client.command(aliases = ['add-item'])
async def __add_item(ctx, role: discord.Role = None, cost: int = None):
    if role is None:
        await ctx.send(f'**{ctx.author}**, please, choose a role!')
    else:
        if cost is None:
            await ctx.send(f"**{ctx.author}**, please, indicate the cost of the role!")
        elif cost < 0:
            await ctx.send(f"**{ctx.author}**, the cost of the role must be higher than 0!")
        else:
            cursor.execute("INSERT INTO shop VALUES ({}, {}, {})".format(role.id, ctx.guild.id, cost))
            connection.commit()

            await ctx.message.add_reaction('✅')

client.run('MY TOKEN')

Пожалуйста, помогите!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...