Пример #1
0
"""
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
Пример #2
0
"""
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()