""" run in terminal: python -m example.echo """ from telegrambotclient import bot_client from telegrambotclient.base import MessageField, ParseMode BOT_TOKEN = "<BOT_TOKEN>" router = bot_client.router() @router.message_handler(MessageField.TEXT) def on_echo_text(bot, message): sent_message = bot.reply_message( message, text="I receive: <strong>{0}</strong>".format(message.text), parse_mode=ParseMode.HTML, ) bot.pin_chat_message(chat_id=message.chat.id, message_id=sent_message.message_id) return bot.stop_call @router.message_handler(MessageField.PINNED_MESSAGE) def on_pinned_message(bot, message): bot.send_message( chat_id=message.chat.id, text="{0} pinned a message".format(message.chat.first_name), ) return bot.stop_call
""" from fastapi import FastAPI, Request, status from telegrambotclient import bot_client from telegrambotclient.base import MessageField, TelegramObject from telegrambotclient.utils import pretty_print BOT_TOKEN_0 = "<BOT_TOKEN_0>" BOT_TOKEN_1 = "<BOT_TOKEN_1>" # ngrok provides a real-time HTTP traffic tunnel. # get a tunnel on port 8000 in Austrlia # run in terminal: ngrok http 8000 --region=au # replace below with the your https url WEBHOOK_URL = "https://5f9d0f13b9fb.au.ngrok.io/{0}" router0 = bot_client.router(BOT_TOKEN_0) router1 = bot_client.router(BOT_TOKEN_1) def on_message(bot, message): pretty_print(message) bot.send_message(chat_id=message.chat.id, text="bot {0} receives a message: {1}".format( bot.user.id, message.text)) router0.register_message_handler(on_message, MessageField.TEXT) router1.register_message_handler(on_message) # not only text message app = FastAPI()