У меня есть обычный бот
При нажатии /start Он отправляет стикер, и приветствуется снизу появляется 2 InlineКлавиатуры - Получить и Помощь
При нажатии Получить, бот редактирует приветствие на сообщение, Но мне нужно чтобы InlineКлавиатуры не исчезали
Как это сделать? Когда я просто пишу "reply_markup=markup" в @bot.callback_query_handler он его не видит
код:
import telebot
import config
import random
from telebot import types
bot = telebot.TeleBot(config.TOKEN)
@bot.message_handler(commands=['start'])
def welcome(message):
sti = open('static/welcome.tgs', 'rb')
bot.send_sticker(message.chat.id, sti)
# keyboard
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton(" Получить", callback_data='good')
item2 = types.InlineKeyboardButton(" Помощь", callback_data='bad')
markup.add(item1, item2)
bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nНажми на - <b>Получить</b>, и я тебе скину нужные данные.".format(message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.chat.type == 'private':
if message.text == 'admin':
bot.send_message(message.chat.id)
else:
bot.send_message(message.chat.id, 'Если есть вопросы то напишите @')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == 'good':
line = random.choice(open('pass.txt', encoding="utf-8").readlines())
bot.edit_message_text(message_id=call.message.id, chat_id=call.message.chat.id, text=f'''<code>{line}</code>''', parse_mode='HTML')
#СУДА НУЖНО ДОБАВИТЬ КЛАВИАТУРУ С ПРИВЕТСТВИЯ
elif call.data == 'bad':
bot.send_message(call.message.chat.id, 'Если есть вопросы то напишите @')
except Exception as e:
print(repr(e))
# RUN
bot.polling(none_stop=True)