This commit is contained in:
Kekskurse 2019-06-21 15:20:46 +02:00
parent d79efb68e0
commit 13eb5c0e26
4 changed files with 28 additions and 11 deletions

10
Dockerfile Normal file
View file

@ -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" ]

View file

@ -1,2 +1,2 @@
*
!.gitignore !.gitignore
2*

1
requirements.txt Normal file
View file

@ -0,0 +1 @@
python-telegram-bot==11.1.0

26
run.py
View file

@ -22,7 +22,7 @@ def hello(bot, update):
def start(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("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("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): def subscribe(bot, update):
users = getAllUsers() 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") update.message.reply_text("Du stehst nicht in meiner Abonenten liste, aboniere einfach mit einem /subscribe")
def getAllUsers(): def getAllUsers():
f = open("user.txt") if os.path.exists('pv/user.txt'):
content = f.read(); f = open("pv/user.txt")
f.close() content = f.read();
return json.loads(content) 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): def saveUser(users):
j = json.dumps(users) j = json.dumps(users)
f = open("user.txt", "w") f = open("pv/user.txt", "w")
f.write(j) f.write(j)
f.close() f.close()
def sendAudio(a, b): 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) 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 datetime.datetime.now().hour >= 6:
if not os.path.exists('./sendDays/'+day): if not os.path.exists('./pv/sendDays/'+day):
f = open("./sendDays/"+day, "w") f = open("./pv/sendDays/"+day, "w")
f.write("DONE") f.write("DONE")
f.close() f.close()
if os.path.exists('mp3/'+day+'.mp3'): 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 :(') 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('hello', hello))
updater.dispatcher.add_handler(CommandHandler('subscribe', subscribe)) updater.dispatcher.add_handler(CommandHandler('subscribe', subscribe))
updater.dispatcher.add_handler(CommandHandler('unsubscribe', unsubscribe)) updater.dispatcher.add_handler(CommandHandler('unsubscribe', unsubscribe))
updater.dispatcher.add_handler(CommandHandler('start', start)) updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CommandHandler('about', about))
job_minute = j.run_repeating(sendAudio, interval=60, first=0) job_minute = j.run_repeating(sendAudio, interval=60, first=0)