commit 1e6e84fdf18170549aa647c173bba3d203f02f91 Author: Kekskurse Date: Fri Jun 21 14:27:26 2019 +0200 Stuff diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e19955a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +config.py +*.pyc +__pycache__/ +user.txt diff --git a/run.py b/run.py new file mode 100644 index 0000000..6d8dfde --- /dev/null +++ b/run.py @@ -0,0 +1,68 @@ +from telegram.ext import CommandHandler +import logging +import json +from config import updater + +logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + level=logging.INFO) + + + + +def hello(bot, update): + print(update) + update.message.reply_text( + 'Hello {}'.format(update.message.from_user.first_name)) + +def start(bot, update): + update.message.reply_text("Du möchtest auch jeden morgen Motiviert in den Tag starten?") + update.message.reply_text("Dann abonniere jetzt diesen motivierenden Bot der dir jeden Morgen um 6 perfekt für deinen Tag vorbereitet") + update.message.reply_text("Schreibe dafür einen /subscribe .... wenn du irgendwan genug motiviert bist kannst du dich mit /unsubscribe wieder abmleden") + +def subscribe(bot, update): + users = getAllUsers() + for user in users: + if user["chatId"] == update["message"]["chat"]["id"]: + update.message.reply_text("Du willst wohl besonders motiviert in den Tag starten, dabei hast du doch schon aboniert"); + return; + + users.append({"chatId": update["message"]["chat"]["id"]}) + saveUser(users) + update.message.reply_text("Danke, ab jetzt wirst du jeden morgen motiviert!"); + +def unsubscribe(bot, update): + users = getAllUsers() + newUserList = [] + unsubscribed = False + for user in users: + if user["chatId"] == update["message"]["chat"]["id"]: + unsubscribed = True + else: + newUserList.append(user) + + if unsubscribed: + saveUser(newUserList) + update.message.reply_text("Schade das du uns verlassen hast, ich weiß nicht ob ich so morgen weiter motivieren kann :'(") + else: + update.message.reply_text("Du stehst nicht in meiner Abonenten liste, aboniere einfach mit einem /subscribe") + +def getAllUsers(): + f = open("user.txt") + content = f.read(); + f.close() + return json.loads(content) + +def saveUser(users): + j = json.dumps(users) + f = open("user.txt", "w") + f.write(j) + f.close() + +updater.dispatcher.add_handler(CommandHandler('hello', hello)) +updater.dispatcher.add_handler(CommandHandler('subscribe', subscribe)) +updater.dispatcher.add_handler(CommandHandler('unsubscribe', unsubscribe)) +updater.dispatcher.add_handler(CommandHandler('start', start)) + + +updater.start_polling() +updater.idle()