2019-06-21 12:27:26 +00:00
from telegram . ext import CommandHandler
2019-06-21 13:04:21 +00:00
import os
import datetime
import telegram
2019-06-21 12:27:26 +00:00
import logging
import json
from config import updater
2019-06-21 13:04:21 +00:00
from config import bot
2019-06-21 12:27:26 +00:00
logging . basicConfig ( format = ' %(asctime)s - %(name)s - %(levelname)s - %(message)s ' ,
level = logging . INFO )
2019-06-21 13:04:21 +00:00
j = updater . job_queue
2019-06-21 12:27:26 +00:00
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 ( )
2019-06-21 13:04:21 +00:00
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 " )
f . write ( " DONE " )
f . close ( )
if os . path . exists ( ' mp3/ ' + day + ' .mp3 ' ) :
a . send_message ( chat_id = ' 184170946 ' , text = ' Der frühe Vogel fängt den Wurm, und hier ist deine motivation für heute: ' )
a . send_audio ( chat_id = ' 184170946 ' , audio = open ( ' mp3/ ' + day + ' .mp3 ' , ' rb ' ) )
else :
a . send_message ( chat_id = ' 184170946 ' , text = ' Für heute habe ich keine Motivierende nachricht gefunden, das wird bestimmt ein scheiß tag :( ' )
2019-06-21 12:27:26 +00:00
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 ) )
2019-06-21 13:04:21 +00:00
job_minute = j . run_repeating ( sendAudio , interval = 60 , first = 0 )
2019-06-21 12:27:26 +00:00
2019-06-21 13:04:21 +00:00
#bot.send_audio(chat_id=184170946, audio=open('mp3/wave.mp3', 'rb'))
2019-06-21 12:27:26 +00:00
updater . start_polling ( )
updater . idle ( )