Новичок. бот на погоду

Пользователь

от IneeF , в категории: Python , 2 года назад

Новичок. бот на погоду

хочу сделать бота, который рассылал бы каждый день сообщение о погоде. Не знаю как захостить бота, чтоб он 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)
Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jensen , 2 года назад

@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 утра.

Пользователь

от roma , 2 года назад

@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()