import telebot
import requests
import json
from telebot.types import User
bot =telebot.TeleBot('***********')
API = '*************'
@bot.message_handler(commands=['start'])
def start(message):
with open('id.txt', 'a+') as id:
print(message.chat.id, file=id)
bot.send_message(message.chat.id, 'Привет, прежде всего пройди регистрацию:\n/register\n \n❗❗❗Если вы уже проходили регистрацию пропустите этот шаг❗❗❗\n \nВведите название города в котором хотите узнать погоду:')
@bot.message_handler(commands=['register'])
def register(message):
with open('reg_id.txt', 'a+') as reg_id:
print(message.chat.id, file=reg_id)
user:User = message.from_user
with open('users.txt', 'a+') as users:
print(f"""
ID: {user.id}
Имя: {user.first_name}
Фамилия: {user.last_name}
Логин: {user.username}
""", file=users)
bot.send_message(message.chat.id, 'Регистрация завершена!\nТеперь можете узнать погоду, введите название города:')
@bot.message_handler(commands=['1'])
def mailing(message):
if message.chat.id == 1641702307:
for i in open('reg_id.txt', 'r').readlines():
bot.send_message(i, 'Оставьте отзыв о проекте!\nНе забудьте оставить свой ник!\n@Vakhrushev_E_E')
else:
bot.send_message(message.chat.id, 'Команда не может быть выполнена т.к вы не являетесь администратором!')
@bot.message_handler(content_types=['text'])
def get_waether(message):
bot.send_message(message.chat.id, 'Подождите секунду!')
city = message.text.strip().lower()
temp = requests.get(f'https://api.openweathermap.org/data/2.5/weather?q={city}&appid={API}&units=metric')
if temp.status_code == 200:
data = json.loads(temp.text)
heat = f'Погода за бортом равна: {data["main"]["temp"]}'
feels_like = f'Ощущается как: {data["main"]["feels_like"]}'
bot.reply_to(message, f'{heat}\n{feels_like}\n \nМожете заново узнать погоду, введите название города:')
else:
bot.reply_to(message, 'Неверный формат, попробуйте снова!')
bot.polling(non_stop=True)