AlexJameson

Reposter Telegram bot

Jan 4th, 2024 (edited)
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import os
  3. from telegram import Update
  4. from telegram.ext import Updater, MessageHandler, filters, CallbackContext
  5.  
  6. def repost(update: Update, context: CallbackContext):
  7.  
  8. if '#repost' in update.message.text:
  9. print(update.message.text)
  10. if update.message.reply_to_message is not None:
  11. print(update.message.reply_to_message)
  12. target_chat_id = os.environ.get("SECRET_CHANNEL_ID")
  13. original_message = update.message.reply_to_message
  14.  
  15. try:
  16. context.bot.forward_message(chat_id=target_chat_id,
  17. from_chat_id=original_message.chat.id,
  18. message_id=original_message.message_id)
  19. except Exception as e:
  20. update.message.reply_text(f'Error: {e}')
  21. else:
  22. update.message.reply_text('Please reply to a message with #repost to forward it.')
  23.  
  24. def main():
  25. print("I'm working")
  26. bot_token = os.environ.get("TELEGRAM_ACCESS_TOKEN")
  27. updater = Updater(token=bot_token, use_context=True)
  28. print("Updater OK")
  29. dp = updater.dispatcher
  30. dp.add_handler(MessageHandler(filters.TEXT & (~filters.COMMAND), repost))
  31.  
  32. updater.start_polling()
  33. updater.idle()
  34.  
  35. if __name__ == "main":
  36. main()
Advertisement
Add Comment
Please, Sign In to add comment