def chart(update: Update, context: CallbackContext) -> None: if is_sender_admin(update.message, context.bot): if context.user_data: update.message.reply_text( text= f"Hello {update.effective_user.first_name} 👋, here is your {context.user_data['chart']} chart" ) chart = Chart(data=context.user_data['data'], timeframe=context.user_data['tf'], c_type=context.user_data['chart'], region=context.user_data['region']) try: path = chart.plot() context.bot.send_photo(update.effective_chat.id, open(path, 'rb')) except DataException: update.message.reply_text( 'Wir haben leider nicht genug Daten für diesen Zeitraum\.\n`cases` kannst du immer verwenden, `deaths` und `incidence` sind jedoch nicht vollsträndig verfügbar', parse_mode=ParseMode.MARKDOWN_V2) else: reply_buttons = InlineKeyboardMarkup([ [InlineKeyboardButton("line", callback_data='line')], [InlineKeyboardButton("bar", callback_data='bar')], [InlineKeyboardButton("geo", callback_data='geo')], ]) update.message.reply_text( f'Hello {update.effective_user.first_name} 👋, please choose a chart:', reply_markup=reply_buttons) else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def sources(update: Update, context: CallbackContext) -> None: if is_sender_admin(update.message, context.bot): update.message.reply_text( f'My data comes from the RKI and is Updated daily.\nA great overview of this data can be found here: https://npgeo-corona-npgeo-de.hub.arcgis.com\n\nThis is the link to the dataset: https://npgeo-corona-npgeo-de.hub.arcgis.com/datasets/23b1ccb051f543a5b526021275c1c6e5_0' ) else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def stop(update, context): if is_sender_admin(update.message, context.bot): context.bot.send_message(chat_id=update.message.chat_id, text='Automatic updates have been disabled.') context.job_queue.stop() else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def reset(update: Update, context: CallbackContext) -> None: if is_sender_admin(update.message, context.bot): context.user_data.clear() update.message.reply_text( "Ok ich habe deine Einstellungen zurückgesetzt. Du kannst sie jederzeit mit /setup neu konfigurieren." ) else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def news(update: Update, context: CallbackContext) -> None: if is_sender_admin(update.message, context.bot): zeit = collect_news.get_articles() update.message.reply_text( f"""Hier sind ein paar interessante Artikel aus der Zeit zu Covid: \n{zeit[0]['title']}\n{zeit[0]['subtitle']}\nLink {zeit[0]['href']} \n\n{zeit[1]['title']}\n{zeit[1]['subtitle']}\nLink {zeit[1]['href']} \n\n{zeit[2]['title']}\n{zeit[2]['subtitle']}\nLink {zeit[2]['href']}""" ) else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def start(update, context): if is_sender_admin(update.message, context.bot): context.bot.send_message(chat_id=update.message.chat_id, text='Automatic updates have been enabled.') timezone = pytz.timezone('Europe/Berlin') context.job_queue.run_daily(auto_status, time=datetime.time(0, 40, 0, tzinfo=timezone), context=update.message.chat_id) else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )
def chart_type(update: Update, context: CallbackContext) -> str: if is_sender_admin(update.message, context.bot): chart_buttons = ReplyKeyboardMarkup([ [ KeyboardButton("line", callback_data='line'), KeyboardButton("bar", callback_data='bar') ], [KeyboardButton("geo", callback_data='geo')], ], one_time_keyboard=True) update.message.reply_text( 'Das wichtigste zuerst: Welches Chart gefällt dir am besten?', reply_markup=chart_buttons) return States.TF else: update.message.reply_text( "Du bist nicht der Admin der Gruppe und kannst daher keine Commands an den Bot senden.\nDu kannst mich zu deinen Kontakten hinzufügen https://t.me/CovGermanyBot um alle Funktionen nutzen zu können" )