def answer_document(message): """ Функция ответа на документ :param message: сообщение от пользователя :return: moon face """ if message.chat.type == "private": Logs.log_message(message) Logs.log_message( bot.send_message(chat_id=message.chat.id, text="\U0001F31A"))
def do_cities(message): """ Функция вывода всех городов :param message: сообщение от пользователя :return: список городов """ chat_id = message.chat.id Logs.log_message(message) text = 'Вот тебе города. Скоро мы будем во всей галактике\n\n' for city in cities.keys(): text += f'{city}\n' Logs.log_message(bot.send_message(chat_id=chat_id, text=text))
def do_start(message): """ Функция старта :param message: сообщение пользователя :return: сообщение о старте """ chat_id = message.chat.id Logs.log_message(message) Logs.log_message( bot.send_message( chat_id=chat_id, text= 'Привет! Давай узнаем курс валют. Чтобы узнать подробности напиши /help' ))
def do_help(message): """ Функция помощи :param message: сообщение пользователя :return: сообщение о помощи """ chat_id = message.chat.id Logs.log_message(message) Logs.log_message( bot.send_message( chat_id=chat_id, text='Я Darth Bot. Почти как Darth Vader, только я повстанец.\n\n' 'Я могу узнать курс валют в городах с помощью сайта Banki.ru.' 'Чтобы сделать это тебе нужно ввести предложение, в котором содержится название валюты на русском' '(доллар, евро, фунт, иена, юань) и город, в котором ты хочешь узнать информацию.\n\n' 'Чтобы узнать какие города поддерживаются напиши /cities\n\n' 'Чтобы узнать курс валюты из ЦБ напиши /centralbank *Валюты на русском языке* *Дата в формате ДЕНЬ-МЕСЯЦ-ГОД*\n\n' 'Да прибудет с тобой сила!'))
def do_text(message): """ Функция ответа на сообщение :param message: сообщение от пользователя :return: сообщение пользователю """ if message.chat.type == "private": chat_id = message.chat.id Logs.log_message(message) text = str(message.text).lower() text = get_text_from_bankiRu(text) Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) if message.chat.type == "group": chat_id = message.chat.id text = str(message.text).lower() if text.find("@Currency_Darth_bot".lower()) > -1: Logs.log_message(message) text = get_text_from_bankiRu(text) Logs.log_message(bot.send_message(chat_id=chat_id, text=text))
def do_central_bank(message): """ Функция поиска курса заданной валюты и даты в Центробанке :param message: сообщение пользователя :return: курс валюты на заданное число """ chat_id = message.chat.id Logs.log_message(message) try: text = str(message.text).lower() result = re.findall(r'доллар|евр|фунт|иен|', text) result += re.findall(r'\d*-\d*-\d*', text) result = list(filter(lambda a: a != '', result)) if len(result) == 2: date_format = "%d-%m-%Y" date = datetime.strptime(result[1], date_format) text = f'Вот данные из центробанка\n{date.strftime(date_format)}\n' bank = CentralBank(date) if result[0] == 'доллар': rate = bank.get_rates_usd() text += f'{rate.name} = {rate.rate} руб.' Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) if result[0] == 'евр': rate = bank.get_rates_eur() text += f'{rate.name} = {rate.rate} руб.' Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) if result[0] == 'фунт': rate = bank.get_rates_gbp() text += f'{rate.name} = {rate.rate} руб.' Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) if result[0] == 'иен': rate = bank.get_rates_jpy() text += f'{rate.name} = {rate.rate} руб.' Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) else: text = 'Прости, но ты ввел команду не правильно. Тебя никогда не примут в орден джедаев!' Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) except CbError: text = 'Данная дата выходит за пределы. "В пределы поспасть должен ты" © Йода' Logs.log_exception(CbError) Logs.log_message(bot.send_message(chat_id=chat_id, text=text)) except ValueError: text = 'Ваша дата невалидна. "Головой думать должен ты" © Йода' Logs.log_exception(ValueError) Logs.log_message(bot.send_message(chat_id=chat_id, text=text))
def answer_sticker(message): if message.chat.type == "private": Logs.log_message(message) Logs.log_message( bot.send_message(chat_id=message.chat.id, text="\U0001F31A"))