Доброго времени суток. При написании бота столкнулся с такой проблемой, что бот не показывает кнопку в сообщении.
Основной код
import telebot
from telebot import types
import config as cfg
import markups as nav
TOKEN = '6891614943:AAGZQ8mJd959fP-eBdAVHKXvyCHBFUfNs64'
bot = telebot.TeleBot(TOKEN)
btnProfile = types.KeyboardButton('КАНАЛ 1')
def checkSub(channels, user_id):
for channel in channels:
chat_member = bot.get_chat_member(chat_id=channel[1], user_id=user_id)
if chat_member.status == 'left':
return False
return True
@bot.message_handler(commands=['start'])
def start(message):
markup = types.InlineKeyboardMarkup()
if checkSub(cfg.sponsorChannels, message.from_user.id):
bot.send_message(message.chat.id, "Привет, {0.first_name}!".format(message.from_user))
else:
bot.send_message(message.chat.id, "Для доступа к функционалу подпишись на мой тгк!", reply_markup=nav.showChannels())
bot.infinity_polling()
Сама функция на которую я ссылался
def showChannels():
markup = types.InlineKeyboardMarkup()
keyboard = types.InlineKeyboardMarkup(row_width=1)
for channel in sponsorChannels:
btn = types.InlineKeyboardButton(text=channel[1], url=channel[2])
markup.add(btn)
btn_done_sub = types.InlineKeyboardButton(text="Я ПОДПИСАЛСЯ", callback_data="subchanneldone")
markup.add(btn_done_sub)
return keyboard
Массив sponsorChannels
sponsorChannels = [
["КАНАЛ 1", "-100...", "https://..."]
]