Всем привет!
У меня проблема, если поможете решить, буду благодарен.
Пишу бота для тг, ему нужна инлайн клава, пайчарм выдаёт ошибку на строчки : markup.add(item1, item2, item3, item4)
@bot.callback_query_handlers(func = lambda call: True ) пишет 'list' object is not callable, в чём проблема не знаю, ещё раз спасибо если поможете
вот весь код: import telebot
import config
from telebot import types
bot = telebot.TeleBot(config.Token)
@bot.message_handler(commands=['start'])
def wel(message):
bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nКакой тип подписки желаете приобрести?".format(message.from_user, bot.get_me() ),
parse_mode='html', reply_markup= markup)
#keyboerd
markup = types.InlineKeyboardMarkup(row_width=4)
item1 = types.InlineKeyboardMarkup("3 месяца - 299 руб", callback_data = '1'
item2 = types.InlineKeyboardMarkup("6 месяцев - 499 руб", callback_data = '2'
item3 = types.InlineKeyboardMarkup("12 месяцев - 899 руб", callback_data = '3'
item4 = types.InlineKeyboardMarkup("Тех.поддержка", callback_data = '4'
markup.add(item1, item2, item3, item4)
@bot.callback_query_handlers(func = lambda call: True )
def callback_inline(call):
try:
if call.message:
if call.data == '1':
bot.send_message(call.message.chat.id, 'ссылка'
elif call.data == '2':
bot.send_message(call.message.chat.id, "другая ссылка"
elif call.data == '3':
bot.send_message(call.message.chat.id, "последняя ссылка"
elif call.data == '4':
bot.send_message(call.message.chat.id, "ссылка на тех.поддержку"
else:
bot.send_message(call.message.chat.id, "Выберете из предложенных вариантов"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="3 месяца - 299 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="6 месяцев - 499 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="12 месяцев - 899 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Тех.поддержка",
reply_markup=None)
except Exception as e:
print(repr(e))
#run
bot.polling(none_stop=True)
У меня проблема, если поможете решить, буду благодарен.
Пишу бота для тг, ему нужна инлайн клава, пайчарм выдаёт ошибку на строчки : markup.add(item1, item2, item3, item4)
@bot.callback_query_handlers(func = lambda call: True ) пишет 'list' object is not callable, в чём проблема не знаю, ещё раз спасибо если поможете
вот весь код: import telebot
import config
from telebot import types
bot = telebot.TeleBot(config.Token)
@bot.message_handler(commands=['start'])
def wel(message):
bot.send_message(message.chat.id, "Добро пожаловать, {0.first_name}!\nКакой тип подписки желаете приобрести?".format(message.from_user, bot.get_me() ),
parse_mode='html', reply_markup= markup)
#keyboerd
markup = types.InlineKeyboardMarkup(row_width=4)
item1 = types.InlineKeyboardMarkup("3 месяца - 299 руб", callback_data = '1'
item2 = types.InlineKeyboardMarkup("6 месяцев - 499 руб", callback_data = '2'
item3 = types.InlineKeyboardMarkup("12 месяцев - 899 руб", callback_data = '3'
item4 = types.InlineKeyboardMarkup("Тех.поддержка", callback_data = '4'
markup.add(item1, item2, item3, item4)
@bot.callback_query_handlers(func = lambda call: True )
def callback_inline(call):
try:
if call.message:
if call.data == '1':
bot.send_message(call.message.chat.id, 'ссылка'
elif call.data == '2':
bot.send_message(call.message.chat.id, "другая ссылка"
elif call.data == '3':
bot.send_message(call.message.chat.id, "последняя ссылка"
elif call.data == '4':
bot.send_message(call.message.chat.id, "ссылка на тех.поддержку"
else:
bot.send_message(call.message.chat.id, "Выберете из предложенных вариантов"
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="3 месяца - 299 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="6 месяцев - 499 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="12 месяцев - 899 руб",
reply_markup=None)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Тех.поддержка",
reply_markup=None)
except Exception as e:
print(repr(e))
#run
bot.polling(none_stop=True)