diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a62c440 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.7 + +RUN mkdir /app +WORKDIR /app +COPY ./ /app +RUN pip install --no-cache-dir -r requirements.txt + +CMD [ "python", "/app/run.py" ] + + diff --git a/sendDays/.gitignore b/pv/.gitignore similarity index 80% rename from sendDays/.gitignore rename to pv/.gitignore index 862dd6e..d6b7ef3 100644 --- a/sendDays/.gitignore +++ b/pv/.gitignore @@ -1,2 +1,2 @@ +* !.gitignore -2* diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..c70820e --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +python-telegram-bot==11.1.0 diff --git a/run.py b/run.py index bdfa398..aaa3a80 100644 --- a/run.py +++ b/run.py @@ -22,7 +22,7 @@ def hello(bot, update): 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") + update.message.reply_text("Schreibe dafür einen /subscribe .... wenn du irgendwan genug motiviert bist kannst du dich mit /unsubscribe wieder abmleden. Warum das ganze? Einfach /about fragen") def subscribe(bot, update): users = getAllUsers() @@ -52,24 +52,27 @@ def unsubscribe(bot, update): 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) + if os.path.exists('pv/user.txt'): + f = open("pv/user.txt") + content = f.read(); + f.close() + return json.loads(content) + return [] + +def about(bot, update): + update.message.reply_text("Ich habe versucht den möglichst billigsten Telegram bot zu schreiben den es gibt der dir möglichst schnell aber mit qualität auf die nerven geht, den quellcode gibt es hier: https://git.keks.cloud/kekskurse/motivationsBot die Audiodatein nicht. Viel Spaß, Sören") def saveUser(users): j = json.dumps(users) - f = open("user.txt", "w") + f = open("pv/user.txt", "w") f.write(j) f.close() def sendAudio(a, b): - print(datetime.datetime.now().hour) day = str(datetime.datetime.now().year)+"-"+str(datetime.datetime.now().month)+"-"+str(datetime.datetime.now().day) - print("DAY: "+str(day)) if datetime.datetime.now().hour >= 6: - if not os.path.exists('./sendDays/'+day): - f = open("./sendDays/"+day, "w") + if not os.path.exists('./pv/sendDays/'+day): + f = open("./pv/sendDays/"+day, "w") f.write("DONE") f.close() if os.path.exists('mp3/'+day+'.mp3'): @@ -79,11 +82,14 @@ def sendAudio(a, b): a.send_message(chat_id='184170946', text='Für heute habe ich keine Motivierende nachricht gefunden, das wird bestimmt ein scheiß tag :(') +if not os.path.isdir("pv/sendDays"): + os.makedirs("pv/sendDays") 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.dispatcher.add_handler(CommandHandler('about', about)) job_minute = j.run_repeating(sendAudio, interval=60, first=0)