main.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import telebot
  2. import requests
  3. import json
  4. Token = open("token.txt", "r").read()
  5. Api_key = open("apikey.txt", "r").read()
  6. bot = telebot.TeleBot(Token)
  7. def weather(text):
  8. resp = requests.get(
  9. 'http://api.openweathermap.org/data/2.5/weather?q='+text+'&lang=ru&appid='+Api_key)
  10. if resp.status_code == 200:
  11. data = json.loads(resp.content.decode('UTF-8'))
  12. name = 'Погода в городе '+data['name']+'\n\n'
  13. temp = 'Температура: '+str(int(round(data['main']['temp']-273)))+'°C\n'
  14. state = 'Состояние: '+data['weather'][0]['description']+'\n'
  15. wind = 'Ветер: '+str(data['wind']['speed'])+' м/с\n'
  16. return name+temp+state+wind
  17. else:
  18. return 'Не могу найти город '+text
  19. @bot.message_handler(commands=['start'])
  20. def start_message(message):
  21. bot.send_message(message.chat.id, 'Привет, напиши мне название города на английском и я найду прогноз погоды.')
  22. @bot.message_handler(func=lambda n: True)
  23. def fun(message):
  24. bot.send_message(message.chat.id, weather(message.text))
  25. try:
  26. bot.polling(none_stop=True, timeout=50)
  27. except:
  28. pass