Skip to content

Instantly share code, notes, and snippets.

@erickgnavar
Last active May 17, 2019 15:29
Show Gist options
  • Save erickgnavar/64c5f62b2850d7441579684d7a86477f to your computer and use it in GitHub Desktop.
Save erickgnavar/64c5f62b2850d7441579684d7a86477f to your computer and use it in GitHub Desktop.
Odoo es telegram group book raffle
import os
import random
from datetime import datetime
from telethon.sync import TelegramClient
API_ID = os.environ.get("TELEGRAM_APP_ID")
API_HASH = os.environ.get("TELEGRAM_APP_HASH")
GROUP_NAME = "odoo_es"
def print_winner(message):
name = f"{message.sender.first_name or ''} {message.sender.last_name or ''}"
username = f"{message.sender.username or ''}"
print("*" * 50)
print("WINNER")
print(f"Name: {name}")
print(f"Username: {username}")
print(f"Message: {message.raw_text}")
print(f"Date: {message.date}")
print("*" * 50)
def main():
client = TelegramClient("ertelbot", API_ID, API_HASH)
print(f"Started at {datetime.now()}")
client.connect()
client.send_message
messages = client.get_messages(GROUP_NAME, limit=None, reverse=True)
print(f"{len(messages)} fetched")
data = {}
for message in messages:
data[message.sender.id] = message
winner_message = random.choice(list(data.values()))
print_winner(winner_message)
client.send_message(GROUP_NAME, "Has ganado el libro :)", reply_to=winner_message)
client.disconnect()
print(f"Finished at {datetime.now()}")
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment