コード例 #1
0
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"
        )
コード例 #2
0
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"
        )
コード例 #3
0
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"
        )
コード例 #4
0
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"
        )
コード例 #5
0
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"
        )
コード例 #6
0
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"
        )
コード例 #7
0
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"
        )