68 lines
2.3 KiB
Python
68 lines
2.3 KiB
Python
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()
|