示例#1
0
def callback_inline(call):
    try:
        if call.message:
            if call.data == 'temp':
                bot.send_message(call.message.chat.id,
                                 'Температура воздуха {0[0]}{1}C'.format(
                                     api.send_weather(DAY_NOW), degree_sign),
                                 parse_mode='html')
            elif call.data == 'all':
                bot.send_message(call.message.chat.id,
                                 '<ins>Метеоданные</ins>:\n'
                                 ' <b>температура</b> - {0[0]}{1}C\n'
                                 ' <b>вероятность осадков</b> - {0[1]}%\n'
                                 ' <b>давление</b> - {0[4]} мм рт.ст.\n'
                                 ' <b>влажность</b> - {0[2]}%'.format(
                                     api.send_weather(DAY_NOW), degree_sign),
                                 parse_mode='html')

            # remove inline buttons
            bot.edit_message_text(chat_id=call.message.chat.id,
                                  message_id=call.message.message_id,
                                  text='Сегодня {}'.format(
                                      thisday.day_of_week),
                                  reply_markup=None)

            # show alert
            bot.answer_callback_query(callback_query_id=call.id,
                                      show_alert=False,
                                      text="Погода в Ярославле")

    except Exception as e:
        print(repr(e))
示例#2
0
def what_days(select_day):
    """
    :return: number of days before the specified date
    """
    day = select_day - today
    api.send_weather(day.days)
    return day.days
示例#3
0
def main(message):
    if message.chat.type == 'private':
        if message.text == 'weather today':
            markup = types.InlineKeyboardMarkup(row_width=2)
            item1 = types.InlineKeyboardButton("t {}C".format(degree_sign),
                                               callback_data='temp')
            item2 = types.InlineKeyboardButton('ALL', callback_data='all')
            markup.add(item1, item2)
            bot.send_message(message.chat.id,
                             'Что Вас интересует?',
                             reply_markup=markup)
            return None

        if not check_valid.check_data(
                message.text):  #check valid foramt 00.00 only int
            bot.send_message(
                message.chat.id,
                'Пожалуйста, введите дату в цифравом формате <b>ММ.ДД</b> \nНапоминаем доступные даты с {} по {}'
                .format(today.date(), last_data.date()),
                parse_mode='html')
            return None

        check_date = simple.correct_date(
            message.text)  # checks the specified period
        if check_date in access_days:
            bot.send_message(message.chat.id,
                             'Метеоданные за <ins>{0[3]}</ins>:\n'
                             ' <b>температура</b> - {0[0]}{1}C\n'
                             ' <b>вероятность осадков</b> - {0[1]}%\n'
                             ' <b>давление</b> - {0[4]} мм рт.ст.\n'
                             ' <b>влажность</b> - {0[2]}%'.format(
                                 api.send_weather(check_date), degree_sign),
                             parse_mode='html')

        elif check_date not in access_days:
            bot.send_message(
                message.chat.id,
                'К сожалению Я могу показать погоду только в период\n'
                'c {} по {}'.format(today.date(), last_data.date()))
        else:
            bot.send_message(message.chat.id, 'I do not understand')
示例#4
0
文件: app.py 项目: Krog-13/storm
def showPost(alias):
    town = City.query.filter_by(url=alias).first_or_404()
    weather = send_weather(2, town.name_city)

    return render_template('weather.html', weather=weather, town=town)
示例#5
0
文件: app.py 项目: Krog-13/storm
def weather():
    weather = send_weather(5, 'Astana')
    return render_template("weather.html", title="Профиль", weather=weather)