3err0
@3err0
Гик, Безумец, ITшник, Linux`оид

Как реализовать боту поддержку отправки из коммандной строки с поддержкой polling в telebot?

Привет.
В настоящее время есть бот, который сидит на одном из каналов в который отправка сообщений осуществляется через коммандную строку:
import telebot,sys

BOT_TOKEN='00000000000'
MESSAGE=sys.argv[1]

MESSAGE = MESSAGE.replace('/n','\n')
tb = telebot.TeleBot(BOT_TOKEN)
tb.send_message("chatid" ,"SUBJECT" + '\n' + MESSAGE)


Имея в наличии готовый пример бота задумался, возможно ли осуществить эту же реализацию поддержки коммандной строки, но чтобы бот ожидал нажатие кнопки в каждом из отправленных через коммандную строку сообщении, запустив polling лишь один раз (не перезапуская бота):

import telebot
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton

TELEGRAM_TOKEN = '<TOKEN>'

bot = telebot.TeleBot(TELEGRAM_TOKEN)

def gen_markup():
    markup = InlineKeyboardMarkup()
    markup.row_width = 2
    markup.add(InlineKeyboardButton("Yes", callback_data="cb_yes"),
                               InlineKeyboardButton("No", callback_data="cb_no"))
    return markup

@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
    if call.data == "cb_yes":
        bot.answer_callback_query(call.id, "Answer is Yes")
    elif call.data == "cb_no":
        bot.answer_callback_query(call.id, "Answer is No")

@bot.message_handler(func=lambda message: True)
def message_handler(message):
    bot.send_message(message.chat.id, "Yes/no?", reply_markup=gen_markup())

bot.polling(none_stop=True)
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 13:31
30000 руб./за проект
28 нояб. 2024, в 13:22
1000 руб./за проект
28 нояб. 2024, в 13:00
70000 руб./за проект