Новичок. бот на погоду
хочу сделать бота, который рассылал бы каждый день сообщение о погоде. Не знаю как захостить бота, чтоб он 24/7 работал + не понимаю как сделать рассылку., прошу искренне помочь!!!
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 |
import pyowm from pyowm.owm import OWM from pyowm.utils.config import get_default_config config_dict = get_default_config() config_dict['language'] = 'ru' owm = OWM('196c259eeb03d0b4f3a12b56c9011c14', config_dict) import telebot owm = pyowm.OWM('196c259eeb03d0b4f3a12b56c9011c14') mgr = owm.weather_manager() bot = telebot.TeleBot("5086871950:AAH0gS__kkvIlH-M5Dwvb_0njglw0_JqeJI") @bot.message_handler(content_types=['text']) place = input("Введи Город/страну: ") try: observation = mgr.weather_at_place(place) w = observation.weather temp = w.temperature('celsius')["temp"] print(f"В городе {place} сейчас {w.detailed_status}") print(f"Температура: {temp}") if temp < 10: answer += "сейчас очень холодно, лучше останься и пей теплый какао" elif temp < 20: answer += "на улице морозилка, даже при всем желании лучше не иди)" else: answer += "Температура найс, одевайся как хош" bot.send_message(message.chat.id, answer) bot.polling( none_stop = True) |
@IneeF Если Вам нужно чтобы он просто работал 24/7 тогда возьмите хостинг и закачайте Ваш скрипт туда и запустите его на сервере.
Чтобы установить python на сервере запустите
1 2 |
apt install python3.6 apt install pip3.6 |
И затем просто запустите Ваш скрипт
1
|
python3.6 /path/to/your_script.py |
Если Вам нужно что скрипт запускался раз в день(или в определенное время) и что то отправлял, то можно использовать cron job сделать задачку и чтобы она в определенное время или каждый интервал запускала Ваш скрипт и для этого на сервере выполните команду
1
|
crontab -e |
И затем вставьте строчку в файл
1
|
0 5 * * * python3.6 /path/to/your_script.py |
В данном конфигурации Ваш скрипт будет запускаться каждый день в 5:00 утра.
@IneeF Используй python-crontab библиотеку он автоматически создаст команду на сервере запускать твоего бота каждые N часов/минут/дней и так далее
1 2 3 4 5 6 |
from crontab import CronTab cron = CronTab() job = cron.new(command='python your_script.py') job.every(1).days() cron.write() |