Example #1
0
def today(bot, update):
    if isinstance(update, Job):  # call came from update or from job_queue?
        chat_id = update.context  # same as job.context
    else:
        chat_id = update.message.chat_id
    try:
        with shelve.open(data_base, 'r') as db:
            location = db[str(chat_id)].location
    except (KeyError, dbm.error[0]):
        return unknown_user(bot, update)
    if location:
        summary = weather.today_weather(location)
        if getattr(update, 'interval', False):
            delay_comp(update, localtime()[5])
    else:
        summary = 'You haven`t set your location. Please hit /setlocation'
    bot.sendMessage(chat_id=chat_id, text=summary, parse_mode='HTML')
Example #2
0
 def shangnan():
     url = "http://pushplus.hxtrip.com/customer/push/send?token=30dedc771dce4f5282464ba37c9c6a6c&title=→<<商南县 " \
           "明日天气预报>>←&content=" + weather.today_weather("shangnan") + "&topic=weather_shangnan"
     payload = {}
     headers = {}
     requests.request("GET", url, headers=headers, data=payload)
Example #3
0
def main():
    vk_session = vk_api.VkApi(
        token=
        "ea79f27d6457615db0ec5f325aed9b12a89b7356c97f53831428944ebf37d45edc14acf3130b5c39fb224"
    )
    vk = vk_session.get_api()
    longpoll = VkLongPoll(vk_session)
    upload = VkUpload(vk_session)
    keyboard = VkKeyboard()
    keyboard.add_button("Сегодня")
    keyboard.add_button("Завтра")
    keyboard.add_line()
    keyboard.add_button("Сейчас")
    keyboard.add_button("На 5 дней")
    for event in longpoll.listen():
        if event.type == VkEventType.MESSAGE_NEW and event.to_me:
            if (str(event.text) == "Начать"
                    or str(event.text).lower() == "инструкция"):
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message="""
                        Краткая инструкция по работе с ботом:
                        1. Чтобы узнать сегодняшнюю погоду -- "сегодня"
                        2. Чтобы узнать завтрашнюю погоду -- "завтра"
                        3. Чтобы узнать погоду в данный момент -- "сейчас"
                        4. Чтобы узнать погоду на пять дней -- "на пять дней"
                        """,
                                 keyboard=keyboard.get_keyboard())
            elif (str(event.text).lower() == "сегодня"
                  or str(event.text).lower() == "погода сегодня"):
                arr = weather.today_weather()
                attachments = []
                photo = upload.photo_messages(photos=arr[1])[0]
                attachments.append("photo{}_{}".format(photo["owner_id"],
                                                       photo["id"]))
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message=arr[0],
                                 attachment=",".join(attachments),
                                 keyboard=keyboard.get_keyboard())
            elif (str(event.text).lower() == "завтра"
                  or str(event.text).lower() == "погода завтра"):
                arr = weather.tomorrow_weather()
                attachments = []
                photo = upload.photo_messages(photos=arr[1])[0]
                attachments.append("photo{}_{}".format(photo["owner_id"],
                                                       photo["id"]))
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message=arr[0],
                                 attachment=",".join(attachments),
                                 keyboard=keyboard.get_keyboard())
            elif (str(event.text).lower() == "погода на пять дней"
                  or str(event.text).lower() == "погода на 5 дней"
                  or str(event.text).lower() == "на 5 дней"
                  or str(event.text).lower() == "на пять дней"):
                arr = weather.fiveday_weather()
                attachments = []
                photo = upload.photo_messages(photos=arr[1])[0]
                attachments.append("photo{}_{}".format(photo["owner_id"],
                                                       photo["id"]))
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message=arr[0],
                                 attachment=",".join(attachments),
                                 keyboard=keyboard.get_keyboard())
            elif (str(event.text).lower() == "сейчас"
                  or str(event.text).lower() == "погода сейчас"
                  or str(event.text).lower() == "в данный момент"
                  or str(event.text).lower() == "погода в данный момент"):
                arr = weather.now_weather()
                attachments = []
                photo = upload.photo_messages(photos=arr[1])[0]
                attachments.append("photo{}_{}".format(photo["owner_id"],
                                                       photo["id"]))
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message=arr[0],
                                 attachment=",".join(attachments),
                                 keyboard=keyboard.get_keyboard())
            else:
                vk.messages.send(user_id=event.user_id,
                                 random_id=get_random_id(),
                                 message="Я не знаю, что Вы от меня хотите",
                                 keyboard=keyboard.get_keyboard())