Задать вопрос
@Revs1

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

Здравствуйте! В программировании новичок, возникла проблема при написании бота, а именно проблема с работой кнопки.
Хотел чтобы после команды start пользователь добавлялся в базу данных и вылетала кнопка для продолжения диалога с ботом, но кнопка банально не вылетает на клавиатуре, или же кнопка вылетает, но пользователь не добавляется в базу данных. Что делать?

Вот часть кода:

import sqlite3
import telebot
from telebot import *

bot = telebot.TeleBot("2042542684:AAF1wOuI8mt7DQIb859TkPa7bHHBk6YohPk")

conn = sqlite3.connect('db/database.db', check_same_thread=False)
cursor = conn.cursor()

def db_table_val(user_id: int, user_name: str, user_surname: str, username: str):
cursor.execute('INSERT OR IGNORE INTO test (user_id, user_name, user_surname, username) VALUES (?, ?, ?, ?)', (user_id, user_name, user_surname, username))
conn.commit()

@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Добро пожаловать')
keyboard = telebot.types.ReplyKeyboardMarkup(True)
keyboard.row(' Узнать гороскоп')

us_id = message.from_user.id
us_name = message.from_user.first_name
us_sname = message.from_user.last_name
username = message.from_user.username

db_table_val(user_id=us_id, user_name=us_name, user_surname=us_sname, username=username)

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text.lower() == 'привет':
bot.send_message(message.chat.id, 'Привет!')


bot.polling(none_stop=True)
  • Вопрос задан
  • 1174 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
jerwright
@jerwright
while True: coding()
Вы создали переменную keyboard, однако не используете её в ваших сообщениях. Попробуйте сделать так:
keyboard = telebot.types.ReplyKeyboardMarkup(True)
keyboard.row(' Узнать гороскоп')
bot.send_message(message.chat.id, 'Добро пожаловать', reply_markup=keyboard)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы