Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
import random as r import sqlite3 as sql import telebot import config from telebot import types bot = telebot.TeleBot(config.token) con = sql.connect("questions.db", check_same_thread=False) cur = con.cursor() @bot.message_handler(commands=["start"]) def start_message(message): bot.send_message(message.chat.id, ("Привет, я бот помощник по тестам!")) random_value = '' def random_value(): random_value = r.randint(20, 35) @bot.message_handler(commands=["ask"]) def ask_question(message): number = r.randint(20, 35) cur.execute(f"SELECT question FROM all_questions WHERE number = {number}") question = cur.fetchone()[0] cur.execute(f"SELECT answer FROM all_questions WHERE number = {number}") answer = cur.fetchone()[0] s = 'answer' + '|' + str(answer[0]) markup = types.InlineKeyboardMarkup() markup.add(types.InlineKeyboardButton("Узнать правильный ответ", callback_data=s)) bot.send_message(message.chat.id, question, reply_markup=markup) @bot.callback_query_handler(func=lambda call: True) #вешаем обработчик событий на нажатие всех inline-кнопок def callback_inline(call): first_param = call.data.split('|')[0] second_param = call.data.split('|')[1] if first_param == "answer": bot.send_message(call.message.chat.id, str(second_param)) if __name__ == '__main__': bot.infinity_polling()
Выводит только первую букву из всей строки...
Допустим, пытаюсь вывести слово "Написать это слово" - выводит только букву "Н"