def main():
    start_handler = CommandHandler("start",
                                   start,
                                   filters=Filters.user(OWNER_ID),
                                   run_async=True)
    help_handler = CommandHandler("help",
                                  help,
                                  filters=Filters.user(OWNER_ID),
                                  run_async=True)
    dispatcher.add_handler(start_handler)
    dispatcher.add_handler(help_handler)

    if WEBHOOK and URL:
        LOGGER.info("Using webhooks.")
        updater.start_webhook(listen=IP_ADDRESS, port=PORT, url_path=API_KEY)

        if CERT_PATH:
            updater.bot.set_webhook(url=URL + API_KEY,
                                    certificate=open(CERT_PATH, "rb"))
        else:
            updater.bot.set_webhook(url=URL + API_KEY)

    else:
        LOGGER.info("Using long polling.")
        updater.start_polling(timeout=15, read_latency=4)

    updater.idle()
Exemple #2
0
from telegram.ext import MessageHandler, Filters

from forwarder import FROM_CHATS, TO_CHATS, LOGGER, dispatcher


def forward(update, context):
message = update.effective_message  # type: Optional[Message]
    from_chat_id = update.effective_chat.id
    from_chat_name = update.effective_chat.title or update.effective_chat.first_name

    for chat in TO_CHATS:
     to_chat_name = context.bot.get_chat(chat).title or context.bot.get_chat(chat).first_name
        try:
         context.bot.forward_message(chat_id=chat, from_chat_id=from_chat_id, message_id=message.message_id)
               
               except:
            LOGGER.exception("Error while forwarding message from chat \"{}\" to chat \"{}\".".\
                             format(from_chat_name, to_chat_name))
                             
                             
 try:
   FORWARD_HANDLER = MessageHandler(
        Filters.chat(FROM_CHATS) & Filters.update.channel_posts & ~Filters.status_update & ~Filters.command,
        forward,
        run_async=True
    )
    
    dispatcher.add_handler(FORWARD_HANDLER)
    
 except ValueError:  # When FROM_CHATS list is not set because user doesn't know chat id(s)
    LOGGER.warn("I can't FORWARD_HANDLER because your FROM_CHATS list is empty.")
Exemple #3
0
            user = (message.reply_to_message.from_user
                    )  # Replied message is a message from a user
            message.reply_text(
                "{}'s ID is `{}`.".format(user.first_name, user.id),
                parse_mode=ParseMode.MARKDOWN,
            )

    else:
        chat = update.effective_chat

        if chat.type == "private":  # Private chat with the bot
            message.reply_text("Your ID is `{}`.".format(chat.id),
                               parse_mode=ParseMode.MARKDOWN)

        else:  # Group chat where the bot is a member
            message.reply_text(
                "This group's ID is `{}`.".format(chat.id),
                parse_mode=ParseMode.MARKDOWN,
            )


GET_ID_HANDLER = MessageHandler(
    Filters.command
    & Filters.regex(r"^/id")
    & (Filters.user(OWNER_ID) | Filters.update.channel_posts),
    get_id,
    run_async=True,
)

dispatcher.add_handler(GET_ID_HANDLER)