@PRIYD

Почему выводятся метаданные при запросе колонны?

Пытаюсь запросить колонну на вывод, но вместе с ней присылаются метаданные:

5d5bb8c095897703417199.png

import telebot
import sqlite3 as sqlite
from sqlite3 import Error

bot = telebot.TeleBot("TOKEN")
conn = sqlite.connect("test.db", check_same_thread=False)
c = conn.cursor()
count = 0

try:
  c.execute('''CREATE TABLE messages (
    id PRIMARY KEY,
    message VARCRCHAR(500) UNIQUE NOT NULL)
    ''')
except sqlite.OperationalError as e:
  print('sqlite error:', e.args[0])  # table messages already exists


# On '/start':
@bot.message_handler(commands=['start'])
def on_start(message):
    bot.send_message(message.chat.id, 'Привет! Меня зовут Джемисон. Введи сообщение для хранения.')


@bot.message_handler(commands=['list'])
def on_list(message):
    c.execute('''SELECT message FROM messages''')
    list_of_elements = c.fetchall()
    bot.send_message(message.chat.id, list_of_elements)
    #print(list_of_elements)


# On any text:
@bot.message_handler(content_types=['text'])
def on_message(message):
    global count
    count += 1
    message_id = 'id' + str(count)
    data = {}
    data["message_id"] = message_id
    data['message'] = message

    c.execute('''INSERT INTO messages(id, message) VALUES(?,?)''', (str(data['message_id']), str(data['message'])) )


bot.polling()


P.S. код ужасен, не бейте
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
Dr_Elvis
@Dr_Elvis
ты при получении текста заносишь в базу весь месседж, а не текст
data['message'] = message
исправь на
data['message'] = message.text
и тогда в базу будет заноситься только текст
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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