Пример #1
0
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"))
Пример #2
0
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))
Пример #3
0
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'
        ))
Пример #4
0
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'
            'Да прибудет с тобой сила!'))
Пример #5
0
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))
Пример #6
0
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))
Пример #7
0
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"))