-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWeather_bot.py
74 lines (62 loc) · 4.01 KB
/
Weather_bot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import telebot
from telebot import types
import requests
bot = telebot.TeleBot(token='bot_token')
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Привет, Бот!")
markup.add(btn1)
bot.send_message(message.from_user.id, text="Привет! Я погодный бот"
.format(message.from_user), reply_markup=markup)
@bot.message_handler(commands=['info'])
def info(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Понятно!")
markup.add(btn1)
bot.send_message(message.from_user.id, f"Умею показывать погоду в разных городах. Необходимо вводить полное название"
f" города, инача он не определится!", reply_markup=markup)
@bot.message_handler(content_types=['text'])
def weather_bot(message):
if message.text == "Привет, Бот!":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Покажи погоду в Ростове")
btn2 = types.KeyboardButton("Покажи погоду в Москве")
btn3 = types.KeyboardButton("Выбрать город")
markup.add(btn1, btn2, btn3)
bot.send_message(message.from_user.id, f"Выберите действие", reply_markup=markup)
elif message.text == "Покажи погоду в Ростове":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Покажи погоду в Ростове")
btn2 = types.KeyboardButton("Покажи погоду в Москве")
btn3 = types.KeyboardButton("Выбрать город")
markup.add(btn1, btn2, btn3)
response = requests.get('https://www.wttr.in/Ростов-на-Дону?0T&lang=ru')
bot.send_message(message.from_user.id, f"{response.text}", reply_markup=markup)
elif message.text == "Покажи погоду в Москве":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Покажи погоду в Ростове")
btn2 = types.KeyboardButton("Покажи погоду в Москве")
btn3 = types.KeyboardButton("Выбрать город")
markup.add(btn1, btn2, btn3)
response = requests.get('https://www.wttr.in/Москва?0T&lang=ru')
bot.send_message(message.from_user.id, f"{response.text}", reply_markup=markup)
elif message.text == "Выбрать город":
mesg = bot.send_message(message.from_user.id, f"Введите название города (водить нужно полное название, иначе "
f"город не отпеределится)")
bot.register_next_step_handler(mesg, choice_city)
else:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Покажи погоду в Ростове")
btn2 = types.KeyboardButton("Покажи погоду в Москве")
btn3 = types.KeyboardButton("Выбрать город")
markup.add(btn1, btn2, btn3)
bot.send_message(message.from_user.id, f"Могу показывать погоду в разных городах", reply_markup=markup)
def choice_city(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Покажи погоду в Ростове")
btn2 = types.KeyboardButton("Выбрать город")
markup.add(btn1, btn2)
response = requests.get(f'https://www.wttr.in/{message.text}?0T&lang=ru')
bot.send_message(message.from_user.id, f"Вы выбрали {response.text}", reply_markup=markup)
bot.polling(none_stop=True, interval=0)