mirror of
https://github.com/c0de-archive/telegram-pusher.git
synced 2024-10-10 00:57:46 +00:00
56 lines
1.5 KiB
Python
Executable File
56 lines
1.5 KiB
Python
Executable File
import os
|
|
import pusher
|
|
import logging
|
|
import uuid
|
|
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
|
|
|
|
pusher_client = pusher.Pusher(
|
|
app_id=os.environ['pusher_appid'],
|
|
key=os.environ['pusher_key'],
|
|
secret=os.environ['pusher_secret'],
|
|
cluster='us2',
|
|
ssl=True
|
|
)
|
|
|
|
updater = Updater(token=os.environ['telegram_token'])
|
|
dispatcher = updater.dispatcher
|
|
|
|
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
|
level=logging.INFO)
|
|
|
|
ids = dict({})
|
|
|
|
def _save_id(id, chat_id):
|
|
ids[chat_id] = {
|
|
'id': id,
|
|
'chat_id': chat_id
|
|
}
|
|
return str(ids[chat_id]['id'])
|
|
|
|
def generate_id(chat_id):
|
|
return _save_id(uuid.uuid4(), chat_id)
|
|
|
|
def start(bot, update):
|
|
chat_id = update.message.chat_id
|
|
bot_msg = "Visit https://dev.c0defox.es/push/?channel=%s\
|
|
and then come back to say something to me!" % generate_id(chat_id)
|
|
bot.send_message(chat_id=chat_id, text=bot_msg)
|
|
|
|
start_handler = CommandHandler('start', start)
|
|
dispatcher.add_handler(start_handler)
|
|
|
|
def echo(bot, update):
|
|
chat_id = update.message.chat_id
|
|
# Send the push notification to the session (uuid)
|
|
pusher_client.trigger(str(ids[chat_id]['id']), 'my-event',
|
|
{'message': update.message.text})
|
|
bot.send_message(chat_id=chat_id, text="Notification Sent!")
|
|
|
|
echo_handler = MessageHandler(Filters.text, echo)
|
|
dispatcher.add_handler(echo_handler)
|
|
# pusher_client.trigger('my-channel', 'my-event', {'message': 'I\'m a fox! :3'})
|
|
|
|
# Start being a TG bot
|
|
updater.start_polling()
|
|
|