コード例 #1
0
def converter(currency=0, date='2020-11-24'):
    # USD - доллар EUR - евро XDR - резервная валюта мира
    # GBP - английс фунт   CHF - шфейцарский франк

    arr = ['USD', 'EUR', 'XDR', 'GBP', 'CHF']
    rates = ExchangeRates(date)
    return rates[arr[currency]].value
コード例 #2
0
def converter_1(currency=0, date=datetime.date.today()):
    # USD - доллар EUR - евро XDR - резервная валюта мира
    # GBP - английский фунт   CHF - швейцарский франк

    arr = ['USD', 'EUR', 'XDR', 'GBP', 'CHF']
    rates = ExchangeRates(date)
    return rates[arr[currency]].value
コード例 #3
0
def currency(name):
    date = _datetime.date.today()

    rates = ExchangeRates(date)
    value = rates[name].value

    write_message(event.user_id, event.random_id, "Значение " + name + " на сегодняшний "
                                                                       "день равен: " + str(value))
コード例 #4
0
def course():
    today = datetime.today()
    rates = ExchangeRates(today.strftime("%Y-%m-%d"))
    value = {
        'USD': rates['USD'].value,
        'EUR': rates['EUR'].value,
        'UAH': rates['UAH'].value
    }
    return value
コード例 #5
0
def get_difference(currency):
    rates = ExchangeRates(
        f'{datetime.datetime.now().year}-{datetime.datetime.now().month}-'
        f'{datetime.datetime.now().day - 1}')
    difference = rates[f'{currency}'][4] - get_current_price(currency)
    if difference >= 0:
        return f'+{difference}'
    else:
        return str(difference)
コード例 #6
0
def exchangeuah(message):
	chat = message.chat.id
	now = datetime.now()
	rates = ExchangeRates(str(datetime.strftime(datetime.now() - timedelta(1), '%Y-%m-%d')))
	rates.date_requested
	rates.date_received
	rates.dates_match
	rates['UAH'].name
	a = (str(rates['UAH'].name)+'\n'+str(rates['UAH'].rate))
	bot.send_message(chat,a)
コード例 #7
0
 def _get_currency(self):
     rates = ExchangeRates(datetime.now())
     return {
         'USD': rates['USD'],
         'EUR': rates['EUR'],
         'GBP': rates['GBP'],
         'JPY': rates['JPY'],
         'CHF': rates['CHF'],
         'CNY': rates['CNY'],
     }
コード例 #8
0
def get_range_price(currency, date, dattee):
    sp = []
    start_date = datetime.date(int(date.split('-')[0]),
                               int(date.split('-')[1]),
                               int(date.split('-')[2]))
    end_date = datetime.date(int(dattee.split('-')[0]),
                             int(dattee.split('-')[1]),
                             int(dattee.split('-')[2]))
    for _ in range(0, (end_date - start_date).days + 1):
        rates = ExchangeRates(start_date)
        ratess = ExchangeRates(start_date - timedelta(days=1))
        pricee = ratess[f'{currency}'][4]
        price = rates[f'{currency}'][4]
        delta = price - pricee
        if delta >= 0:
            sp.append(f'{start_date}: {price}(+{delta})')
        else:
            sp.append(f'{start_date}: {price}({delta})')
        start_date += timedelta(days=1)
    return sp
コード例 #9
0
def to_rur(amount, cur):
    """Converts chosen currency into Russian rubles.
    amount - amount of currency
    cur - currency abbreviation (USD, EUR, JPY etc.)

    to_rur(100, USD)
    """
    date_now = datetime.strftime(datetime.now(), "%Y-%m-%d")
    rates = ExchangeRates(date_now)
    rate = float(rates[cur].value)
    return amount * rate
コード例 #10
0
    def sign_in(self) -> None:
        try:
            """Sign in to olimp, remember session id."""
            req_url = olimp_url2.format("autorize")
            # req_url = 'https://' + 'api2.olimp.bet' + '/api/{}'.format("autorize")

            olimp_payload = {"lang_id": "0", "platforma": "ANDROID1"}
            payload = olimp_payload.copy()
            payload.update(self._account)

            headers = base_headers.copy()
            headers.update(get_xtoken_bet(payload))
            headers.update({'X-XERPC': '1'})
            prnt('BET_OLIMP.PY: Olimp, sign_in request: ' + str(req_url), 'hide')
            resp = requests_retry_session_post(
                req_url,
                headers=headers,
                data=payload,
                verify=False,
                timeout=self.timeout,
                proxies=self.proxies
            )
            prnt('BET_OLIMP.PY: Olimp, sign_in responce: ' + str(resp.status_code) + ' ' + resp.text, 'hide')

            check_status_with_resp(resp, 'olimp')

            res = resp.json()
            if res.get('error', {}).get('err_code', 0) == 401:
                raise ValueError('Olimp:' + res.get('error', {}).get('err_desc'))

            self.session_payload["session"] = res["data"]["session"]
            login_info = dict(res['data'])
            # {'messages': '', 'session': 'c3b4723f6a70ebad72ccb95b9b39ba2a', 'l': '3318188', 'fn': 'Адиль', 'ln': 'Косатый', 's': 7198, 'b': 0, 'b2': 0, 'b3': 0, 'b4': 0, 'div': 1, 'cntr': 'RU', 'e': '*****@*****.**', 't': '79050052329', 'cur': 'RUB', 'curid': 3, 'v1': 0, 'v2': 0, 'v3': 0, 'v4': 0, 'decimals': 0, 'vip': 0, 'cs': 0, 'a': 0, 'pa': 0, 'cps': '', 'bonuses': [], 'pd_activation_need': None, 'vipnotice': None, 'act16': ['RU', 'KZ', 'UA', 'BY', 'KG'], 'user_srv': 1, 'stat_pr': 'Low', 'accept_txt': '', 'email_approve': 0, 'info': None}
            self.login_info = login_info
            self.balance = float(self.login_info.get('s'))
            self.currency = self.login_info.get("cur")
            if self.currency == 'RUB':
                self.balance = self.balance * self.cur_rate // 1
            else:
                from pycbrf.toolbox import ExchangeRates
                rates = ExchangeRates()
                self.cur_rate = float(rates['EUR'].value)
                prnt('BET_OLIMP.PY: get current rate {} from bank:{} [{}-{}]'.format(self.currency, self.cur_rate, rates.date_requested, rates.date_received))
                balance_old = self.balance
                self.balance = self.balance * self.cur_rate // 10 * 10
                prnt('BET_OLIMP.PY: balance convert: {} {} = {} RUB'.format(balance_old, self.cur_rate, self.balance))
            self.balance_in_play = float(self.login_info.get('cs'))
            prnt('BET_OLIMP.PY: balance: ' + str(self.balance))
        except Exception as e:
            if 'str() takes at most 3 arguments (5 given)' in str(e):
                raise ValueError('БК Олимп по адресу {}, данный сайт не отвечает или у прокси нет доступа к сайту, рекомендую проверить/поменять прокси или зеркало: @olimpbet_bot или попробовать позже'.format(req_url))
            prnt(e)
            raise ValueError(e)
コード例 #11
0
def exchangeusd(message):
	chat = message.chat.id
	now = datetime.now()
	rates = ExchangeRates(str(datetime.strftime(datetime.now() - timedelta(1), '%Y-%m-%d')))
	rates.date_requested
	rates.date_received
	rates.dates_match
	rates['USD'].name
	rates['R01235'].name
	rates['840'].name
	a = str(rates['USD'].name + "\n")
	a += str(rates['USD'].rate)
	bot.send_message(chat,a)
コード例 #12
0
 def func(self):
     try:
         a = 1
         if UEngine.is_int(self.text):
             a *= int(self.text)
         today = str(datetime.date.today())
         rates = ExchangeRates(today)
         val = ['USD', 'EUR']
         _str = f'[{str(today)}] Курс валют:\n'
         for v in val:
             data = rates[v]
             _str += f'{data.name}: {data.value * a}\n'
         self.result['message'] = _str
         return True
     except Exception as e:
         self.result['message'] = str(e)
         return False
コード例 #13
0
    def __init__(self):
        # Инициализируем HEADER
        self.HEADERS = {
            'user-agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
            'Chrome/84.0.4147.105 Safari/537.36',
            'accept':
            '*/*'
        }

        # Проверяем, есть ли прокси
        with open("proxies.txt", 'r') as file:
            for line in file:
                proxies = {'http': line}
                self.PROXIES.update(proxies)

        # Инициализируем URLs для парсинга
        self.URLS.append("https://bouz.ru/catalog/kommutatory/")
        self.URLS.append("https://bouz.ru/catalog/marshrutizatory/")
        self.URLS.append("https://bouz.ru/catalog/opticheskie_transivery/")
        self.URLS.append("https://bouz.ru/catalog/servery/")
        self.URLS.append("https://bouz.ru/catalog/wifi/")
        self.URLS.append("https://bouz.ru/catalog/sistemy_konferentssvyazi/")
        self.URLS.append("https://bouz.ru/catalog/telefoniya_voip/")
        self.URLS.append(
            "https://bouz.ru/catalog/komplektuyushchie_i_raskhodnye_materialy/"
        )

        # Добавляем e-mail
        with open("e-mail.txt", 'r') as file:
            self.e_mail_from = file.readline()
            self.password = file.readline()
            self.e_mail_to = file.readline()

        # Актуальный курс валют
        rates = ExchangeRates(datetime.date.today())
        self.curse = rates['USD'].value

        logging.basicConfig(filename='app.log',
                            filemode='w',
                            format='%(name)s - %(levelname)s - %(message)s')

        logging.info("Парсер проинициализирован")
コード例 #14
0
from pycbrf.toolbox import ExchangeRates
import os

import datetime

now = datetime.datetime.now()

currency = []
names = []

os.system('cls')
print('Выбор валюты:')

date = now.date()  # Текущая дата

data = ExchangeRates(date)  #

rates = data.rates

#Создает список из кодов и имен валют
for i in rates:
    currency.append(i[2])
    names.append(i[1])
n = 1
for i in currency:
    print('{}) ({}) {}'.format(n, i, names[n - 1]))
    n += 1

num = int(input('Введите номер валюты: '))

if num < len(currency) and num > 0:
コード例 #15
0
    def post_cars(request):
        conn = http.client.HTTPSConnection("gw.hackathon.vtb.ru")

        with open("tinify_id.txt", "r") as f:
            tinify.key = f.read().strip()

        result_data = tinify.from_buffer(request.data.get('content').file.read()).to_buffer()

        data = {"content": base64.encodebytes(result_data).decode('UTF-8').replace('\n', '')}

        payload = json.dumps(data)

        with open("client_id.txt", "r") as f:
            client_id = f.read()

        headers = {
            "x-ibm-client-id": client_id.strip(),
            "content-type": "application/json",
            "accept": "application/json"
        }

        conn.request("POST", "/vtb/hackathon/car-recognize", payload, headers)

        res = conn.getresponse()
        data_1 = res.read().decode("utf-8")

        conn.request("GET", "/vtb/hackathon/marketplace", headers=headers)

        res = conn.getresponse()
        data_2 = res.read().decode("utf-8")

        data_2_obj = json.loads(data_2)
        carListValues = list(ast.literal_eval(data_1)["probabilities"].values())
        carList = ast.literal_eval(data_1)["probabilities"]
        carListEnd = list()
        for el in carListValues:
            carListEnd.append(float(el))
        carListEnd = sorted(carListEnd, reverse=True)

        hardcode = {
            "BMW 3": [15, 2],
            "BMW 5": [15, 4],
            "Cadillac ESCALADE": [18, 0],
            "Chevrolet Tahoe": [16, 1],
            "Hyundai Genesis": '',
            "Jaguar F-PACE": [13, 4],
            "KIA K5": [2, 9],
            "KIA Optima": [2, 8],
            "KIA Sportage": [2, 7],
            "Land Rover RANGE ROVER VELAR": [17, 2],
            "Mazda 3": '',
            "Mazda 6": [12, 1],
            "Mercedes A": '',
            "Toyota Camry": ''
        }

        d = datetime.today().strftime("%Y-%m-%d")
        rates = ExchangeRates(d)

        cars = {
            "currency": {
                "usd": rates["USD"].value,
                "eur": rates["EUR"].value,
                "doshirak": 40
            },
            "list": []
        }

        for f in range(len(carListEnd)):
            carName = list(carList.keys())[list(carList.values()).index(carListEnd[f])]

            if hardcode[carName] != '':
                i = hardcode[carName][0]
                j = hardcode[carName][1]

                tempCar = {
                    "title": data_2_obj["list"][i]["title"],
                    "model": data_2_obj["list"][i]["models"][j]["title"],
                    "colors": data_2_obj["list"][i]["models"][j]["colorsCount"],
                    "doors": data_2_obj["list"][i]["models"][j]["bodies"][0]["doors"],
                    "type": data_2_obj["list"][i]["models"][j]["bodies"][0]["title"],
                    "logo": data_2_obj["list"][i]["logo"],
                    "photo": data_2_obj["list"][i]["models"][j]["photo"],
                    "price": data_2_obj["list"][i]["models"][j]["minPrice"],
                }

                cars['list'].append(tempCar)

        carsListTemp = list()
        for k in range(3):
            carsListTemp.append(cars['list'][k])

        return json.dumps(carsListTemp)
コード例 #16
0
ファイル: pp.py プロジェクト: eugeneym/Ramis
            ws.write(i, 6, Formula("E" + str(i + 1) + "*F" + str(i + 1)))
            i += 1

# Exchange start
now = datetime.datetime.now()
delta = datetime.timedelta(hours=12)
tomorrow = now + delta

if now.hour < 12:
    truedate = now
else:
    truedate = tomorrow
dateforcbr = str(truedate.year) + '-' + str(truedate.month) + '-' + str(
    truedate.day)

rates = ExchangeRates(dateforcbr)
Ramiskurs = float(rates['USD'].rate) + (float(rates['USD'].rate) * 0.005)

ws.write(1, 3, Ramiskurs)
# Exchange rate finished

# Шапка
ws.write(0, 0, 'Наименование')
ws.write(0, 1, 'Модель')
ws.write(0, 2, 'Цена 1 картриджа в баксах')
ws.write(0, 3, 'Курс бакса + полпроцента')
ws.write(0, 4, 'Цена 1 картриджа в рублях')
ws.write(0, 5, 'Количество картриджей')
ws.write(0, 6, 'Сумма')
ws.write(i + 1, 5, 'Итого')
ws.write(i + 1, 6, Formula("SUM(G2:G" + str(i) + ")"))
コード例 #17
0
ファイル: tstat.py プロジェクト: amidvn/tinkoff-statistika
def get_rates(date, dict_rates):
    if date not in dict_rates:
        dict_rates[date] = ExchangeRates(date)
    return dict_rates[date]
コード例 #18
0
 def __init__(self):
     initDb = InitializerVacancyDb()
     self.collection = initDb.get_collection("hh_vacancy")
     now = datetime.datetime.now().strftime("%Y-%m-%d")
     self.rates = ExchangeRates(now)
コード例 #19
0
ファイル: bot.py プロジェクト: Tripl0Color/Slayer_bot
                elif event.from_chat:
                    observation = owm.weather_at_place(event.text)
                    w = observation.get_weather()
                    temp = w.get_temperature('celsius')["temp"]
                    vk.messages.send(chat_id=event.chat_id,
                                     random_id=event.random_id,
                                     message="В городе " + event.text + "🌆  " +
                                     "сейчас " + w.get_detailed_status() +
                                     '.' + "\nTемпература " + str(temp) +
                                     " °C")
                    break

        if event.text == 'Курс' or event.text == 'курс':
            #получение курса
            time = datetime.datetime.now()
            rates = ExchangeRates(time)

            cource_uah = rates['UAH'].rate

            cource_czk = rates['CZK'].rate

            cource_jpy = rates['JPY'].rate

            course = rates['USD'].rate

            course_eur = rates['EUR'].rate
            if event.from_user:
                vk.messages.send(user_id=event.user_id,
                                 random_id=event.random_id,
                                 message='Курс\nДоллар ' + str(course) + '\n' +
                                 'Евро ' + str(course_eur) + '\n' + 'Гривна ' +
コード例 #20
0
def refr():
    usdru = ExchangeRates()['USD'].value
    for obj in BurseCourse.objects.all():
        obj.course = obj.course * float(usdru)
        obj.save()
コード例 #21
0
def callback_woker(call):
    try:
        if call.data == 'yes':
            markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True )
            item1 = types.KeyboardButton("Да ")
            item2 = types.KeyboardButton("Нет")
            item3 = types.KeyboardButton('Возврат в главное меню')
            markup.add(item1, item2)
            markup.add(item3)
            bot.send_message(call.message.chat.id, 'А я доверяю тебе 😏 ')

            bot.send_message(call.message.chat.id, 'Ты приготовился к игре? 😈 ', reply_markup = markup )
        elif call.data == 'no':
            bot.send_message(call.message.chat.id, f'И Я ТЕБЕ НЕ ДОВЕРЯЮ {random.choice(smiles)}')
        elif call.data == 'one':
            keyboard = types.InlineKeyboardMarkup()
            Yes1 = types.InlineKeyboardButton(text='Да', callback_data='Yes1')
            keyboard.add(Yes1)
            No1 = types.InlineKeyboardButton(text="Нет", callback_data='No1')
            keyboard.add(No1)
            bot.send_message(call.message.chat.id, 'И так, у тебя ровно одна попытка' + f'\nЗагадай число {random.choice(smiles)}')
            bot.send_message(call.message.chat.id, 'Загадал?', reply_markup = keyboard)
        elif call.data == 'two':
            keyboard = types.InlineKeyboardMarkup()
            Yes1 = types.InlineKeyboardButton(text='Да', callback_data='Yes1')
            keyboard.add(Yes1)
            No1 = types.InlineKeyboardButton(text="Нет", callback_data='No1')
            keyboard.add(No1)
            bot.send_message(call.message.chat.id, 'И так, у тебя ровно две попытки' + f'\nЗагадай число {random.choice(smiles)}')
            bot.send_message(call.message.chat.id, 'Загадал?', reply_markup=keyboard)
        elif call.data == 'LOL' or call.data == 'LOL1':
            bot.send_message(call.message.chat.id, f'Ну все <b>шутник</b>, на \nэтом\n шутки и <b>закончились</b> {random.choice(smiles)}', parce_mode = 'html')
        elif call.data == 'Yes1':
            keyboard = types.InlineKeyboardMarkup()
            Yes2 = types.InlineKeyboardButton(text = 'Да', callback_data = 'Yes2')
            No2 = types.InlineKeyboardButton(text = 'Нет', callback_data = 'No2')
            keyboard.add(Yes2, No2)
            bot.send_message(call.message.chat.id, f'И так, ты загадал число {random.randint(1,100)}, я прав? {random.choice(smiles)} ',reply_markup = keyboard )
        elif call.data == 'Yes2':
            keyboard = types.InlineKeyboardMarkup()
            Yes3 = types.InlineKeyboardButton(text = 'Да', callback_data = 'Yes3')
            No3 = types.InlineKeyboardButton(text = 'Нет', callback_data = 'No3')
            keyboard.add(Yes3, No3)
            bot.send_message(call.message.chat.id, f'Уфф, какой я мощный, ДА? {random.choice(smiles)}', reply_markup = keyboard)
        elif call.data == 'Yes3' or call.data == 'No3':
            bot.send_message(call.message.chat.id, f'Все равно я мощный {random.choice(smiles)}')
        elif call.data == 'VAK':
            bot.send_message(call.message.chat.id, 'Загружаю...')
            job = []
            i = 0
            # One.main()
            # with open('../Python/text.data', 'r', encoding='utf - 8') as f:
            #     for word in f.readlines():
            #         job = [work for work in range(1,4)]
            #         bot.send_message(call.message.chat.id, f'{job[0]}\n{job[1]}\n{job[2]}\n{job[3]}')
            #         if i > 3:
            #             i = 0
            #             job.clear()
            #         else:
            #             i = i + 1
            #             job.append(word)
        elif call.data == 'VAK1':
            job = []
            i = 0
            bot.send_message(call.message.chat.id, 'Загружаю...')
            #One.main()
            with open('../Python/text.data', 'r', encoding='utf - 8') as f:
                for word in f.readlines():
                    if i >= 4:
                        i = 0
                        bot.send_message(call.message.chat.id, f'{job[0]}\n{job[1]}\n{job[2]}\n{job[3]}')
                        job.clear()
                    else:
                        i = i + 1
                        job.append(word)
                    #print(word)
                    #bot.send_message(call.message.chat.id, f'{word}\n{word}\n{word}')
        elif call.data == 'No2' or call.data == 'No1':
            keyboard = types.InlineKeyboardMarkup()
            Yes3 = types.InlineKeyboardButton(text='Да', callback_data='Yes1')
            No3 = types.InlineKeyboardButton(text='Нет', callback_data='no')
            keyboard.add(Yes3, No3)
            bot.send_message(call.message.chat.id, f'Попробуем еще раз', reply_markup= keyboard)
        elif call.data == 'Russia':
            location = covid19.getLocationByCountryCode("RU")
            date = location[0]['last_updated'].split('T')
            time = date[1].split(".")
            final_message = f"<u>Данные по стране Россия:</u>\nНаселение: {location[0]['country_population']:,}\n" \
                            f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \
                            f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \
                            f"{location[0]['latest']['deaths']:,}"
            bot.send_message(call.message.chat.id, final_message, parse_mode='html')
        elif call.data == 'Usa':
            location = covid19.getLocationByCountryCode("US")
            date = location[0]['last_updated'].split('T')
            time = date[1].split(".")
            final_message = f"<u>Данные по стране США:</u>\nНаселение: {location[0]['country_population']:,}\n" \
                            f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \
                            f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \
                            f"{location[0]['latest']['deaths']:,}"
            bot.send_message(call.message.chat.id, final_message, parse_mode='html')
        elif call.data == 'EU':
            location = covid19.getLocationByCountryCode("IT")
            date = location[0]['last_updated'].split('T')
            time = date[1].split(".")
            final_message = f"<u>Данные по стране Италия:</u>\nНаселение: {location[0]['country_population']:,}\n" \
                            f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \
                            f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \
                            f"{location[0]['latest']['deaths']:,}"
            bot.send_message(call.message.chat.id, final_message, parse_mode='html')
        elif call.data == 'Ukraine':
            location = covid19.getLocationByCountryCode("UA")
            date = location[0]['last_updated'].split('T')
            time = date[1].split(".")
            final_message = f"<u>Данные по стране Украина:</u>\nНаселение: {location[0]['country_population']:,}\n" \
                            f"Последнее обновление: {date[0]} {time[0]}\nПоследние данные:\n<b>" \
                            f"Заболевших: </b>{location[0]['latest']['confirmed']:,}\n<b>Смертей: </b>" \
                            f"{location[0]['latest']['deaths']:,}"
            bot.send_message(call.message.chat.id, final_message, parse_mode='html')
        elif call.data == 'All':
            try:
                location = covid19.getLatest()
                final_message = f"<u>Данные по всему миру:</u>\n<b>Заболевших: </b>{location['confirmed']:,}\n<b>Сметрей: </b>{location['deaths']:,}"
                bot.send_message(call.message.chat.id, final_message, parse_mode = 'html')
            except Exception:
                bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!')
        elif call.data == 'Numerator':

            keyboard = types.InlineKeyboardMarkup()
            Monday = types.InlineKeyboardButton(text='Понедельник', callback_data='Monday')
            keyboard.add(Monday)
            Tuesday = types.InlineKeyboardButton(text="Вторник", callback_data='Tuesday')
            keyboard.add(Tuesday)
            Wednesday = types.InlineKeyboardButton(text="Среда", callback_data='Wednesday')
            keyboard.add(Wednesday)
            Thursday = types.InlineKeyboardButton(text="Четверг", callback_data='Thursday')
            keyboard.add(Thursday)
            Friday = types.InlineKeyboardButton(text="Пятница", callback_data='Friday')
            keyboard.add(Friday)
            bot.send_message(call.message.chat.id, "Выбери день недели: ", reply_markup = keyboard)
            #bot.edit_message_reply_markup(call.message.chat.id, message_id = call.message.message_id-1, reply_markup = '')
            # remove inline buttons

        # bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
        #                          text="ЭТО ТЕСТОВОЕ УВЕДОМЛЕНИЕ!!11"
        elif call.data == 'EUR':
            try:
                ic = datetime.datetime.now(tz=None)
                date_time = datetime.datetime.now(tz=None)
                rates = ExchangeRates(ic)
                date_time= ic.strftime("%d-%m-%Y")
                EUR = str(rates['EUR'][4])
                bot.send_message(call.message.chat.id, f'На <u>{date_time}:</u> \n1 евро = {EUR[:4]} руб.', parse_mode = 'html')
            except Exception:
                bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!')
        elif call.data == 'USD':
            try:
                ic = datetime.datetime.now(tz=None)
                date_time = datetime.datetime.now(tz=None)
                rates = ExchangeRates(ic)
                date_time= ic.strftime("%d-%m-%Y")
                USD = str(rates['USD'][4])
                bot.send_message(call.message.chat.id, f'На <u>{date_time}:</u> \n1 доллар = {USD[:4]} руб.', parse_mode = 'html')
            except Exception:
                bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!')
        elif call.data == 'Monday':
            bot.send_message(call.message.chat.id, 'Понедельник - Числитель \n1 пара: ТАУ (Практика) \n2 пара: ФИЗ - РА \n3 пара: Электротехника (Лекция) ')
        elif call.data == 'Tuesday':
            bot.send_message(call.message.chat.id, 'Вторник - Числитель \n1 пара: Алгоритмизация и программирование (Лекция) \n2 пара: Электробезопасность (Лекция) \n3 пара: Электротехика (Курсовая) ')
        elif call.data == 'Wednesday':
            bot.send_message(call.message.chat.id, 'Среда - Числитель \n1 пара: ТАУ (Лекция) \n2 пара: ТАУ (Лабораторная) \n  ')
        elif call.data == 'Thursday':
            bot.send_message(call.message.chat.id, 'Четверг - Числитель \n1 пара: Электроника (Лекция) \n2 пара: Прикладная Механика (Лекция) \n  ')
        elif call.data == 'Friday':
            bot.send_message(call.message.chat.id, 'Пятница - Числитель \n1 пара: Электроника (Лабораторная) \n2 пара: Базы Данных (Лабораторная) \n3 пара: Электротехника (Практика) ')
        elif call.data == 'Monday1':
            bot.send_message(call.message.chat.id,  'Понедельник - Знаменатель \n2 пара: ФИЗ - РА \n3 пара: Электротехника (Лекция) ')
        elif call.data == 'Tuesday1':
            bot.send_message(call.message.chat.id, 'Вторник - Знаменатель \n1 пара: Алгоритмизация и программирование (Практика) \n2 пара: Электробезопасность (Пратика) \n3 пара: Электротехника (Курсовая) ')
        elif call.data == 'Wednesday1':
            bot.send_message(call.message.chat.id, 'Среда - Знаменатель \n1 пара: Датчики (Лекция) \n2 пара: Датчики (Практика) \n3 пара: Электротехника (Лабораторная) ')
        elif call.data == 'Thursday1':
            bot.send_message(call.message.chat.id, 'Четверг - Знаменатель \n1 пара: Электроника (Лекция) \n2 пара: Прикладная Механика (Лекция) \n 3 пара: Прикладная Механика (Практика)')
        elif call.data == 'Friday1':
            bot.send_message(call.message.chat.id, 'Пятница - Знаменатель \n1 пара: Алгоритмизция и программирование (Лабораторная) \n2 пара: Базы Данных (Лабораторная) \n3 пара: Базы Данных (Лекция) ')
        elif call.data == 'Denominator':

            keyboard = types.InlineKeyboardMarkup()
            Monday1 = types.InlineKeyboardButton(text='Понедельник', callback_data='Monday1')
            keyboard.add(Monday1)
            Tuesday1 = types.InlineKeyboardButton(text="Вторник", callback_data='Tuesday1')
            keyboard.add(Tuesday1)
            Wednesday1 = types.InlineKeyboardButton(text="Среда", callback_data='Wednesday1')
            keyboard.add(Wednesday1)
            Thursday1 = types.InlineKeyboardButton(text="Четверг", callback_data='Thursday1')
            keyboard.add(Thursday1)
            Friday1 = types.InlineKeyboardButton(text="Пятница", callback_data='Friday1')
            keyboard.add(Friday1)
            bot.send_message(call.message.chat.id, 'Выбери день недели: ', reply_markup=keyboard)

        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text= call.message.text,
                              reply_markup='')
    except Exception:
        bot.edit_message_text(call.message.chat.id, 'Это что еще за покемон?\nОшибка на сервер, сейчас кабанчики подскочат и порешают!')
コード例 #22
0
ファイル: utils.py プロジェクト: fm1ck3y/TinkoffInvestments
 def get_course_to_rub(currency):
     rates = ExchangeRates(get_now())
     rate_currency = rates[currency]
     if rate_currency != None:
         return round(Decimal(rate_currency.value), 2)
     return -1
コード例 #23
0
def get_usd():
    rates = ExchangeRates(datetime.now().date())
    usd_rub = float(rates['USD'].value)
    return usd_rub
コード例 #24
0
    def sign_in(self):
        try:
            self.base_payload["platform"] = "mobile_android"

            self.base_payload["clientId"] = self.account['login']

            payload = self.base_payload
            payload["random"] = get_random_str()
            payload["sign"] = "secret password"

            msg = get_dumped_payload(payload)
            sign = hmac.new(key=sha512(self.account['password'].encode()).hexdigest().encode(), msg=msg.encode(), digestmod=sha512).hexdigest()
            payload["sign"] = sign
            data = get_dumped_payload(payload)
            prnt('BET_FONBET.PY: Fonbet, sign_in request: ' + str(self.common_url) + ', ' + str(self.account['password'].encode()) + ' ' + str(data), 'hide')
            req_time_start = round(time.time())
            resp = requests_retry_session_post(
                self.common_url.format("loginById"),
                headers=self.fonbet_headers,
                data=data,
                verify=False,
                timeout=self.timeout,
                proxies=self.proxies
            )
            prnt('BET_FONBET.PY: Fonbet, sign_in responce: ' + str(resp.status_code) + ' ' + resp.text, 'hide')
            check_status_with_resp(resp)
            res = resp.json()
            prnt('BET_FONBET.PY: Fonbet, sign_in request: ' + str(resp.status_code))

            if res.get('result', '') == 'error':
                if 'duplicate random value' in res.get('errorMessage'):
                    random_time = uniform(1, 3)
                    prnt('random_time: ' + str(random_time))
                    time.sleep(random_time)
                    prnt('current pid: ' + str(os.getpid()) + ', sec: ' + str(round(time.time()) - req_time_start))
                raise LoadException('Fonbet: ' + res.get('errorMessage'))

            if "fsid" not in res:
                err_str = 'BET_FONBET.PY: key "fsid" not found in response: ' + str(res)
                prnt(err_str)
                raise LoadException("BET_FONBET.PY: " + err_str)

            payload["fsid"] = res["fsid"]
            self.fsid = res["fsid"]

            # 'currency': {'currency': 'RUB', 'fracSize': 0, 'betRoundAccuracy': 1, 'rate': 1}
            self.currency = res.get("currency").get("currency")
            self.balance = float(res.get("saldo"))
            self.balance_in_play = float(res.get("scopeMarket", 0))
            if self.currency == 'RUB':
                self.balance = self.balance // 1
            else:
                from pycbrf.toolbox import ExchangeRates
                rates = ExchangeRates()
                self.cur_rate = float(rates['EUR'].value)
                prnt('BET_FONBET.PY: get current rate {} from bank:{} [{}-{}]'.format(self.currency, self.cur_rate, rates.date_requested, rates.date_received))
                balance_old = self.balance
                self.balance = self.balance * self.cur_rate // 10 * 10
                prnt('BET_FONBET.PY: balance convert: {} {} = {} RUB'.format(balance_old, self.cur_rate, self.balance))

            self.limit_group = res.get("limitGroup")

            self.pay_blocked = res.get("attributes", {}).get("payBlocked")
            if self.pay_blocked:
                self.pay_blocked = 'Да'
            else:
                self.pay_blocked = 'Нет'

            self.live_blocked = res.get("attributes", {}).get("liveBlocked")
            if self.live_blocked:
                self.live_blocked = 'Да'
            else:
                self.live_blocked = 'Нет'

            self.sell_blocked = res.get('attributes', {}).get("sellBlocked")
            if self.sell_blocked:
                self.sell_blocked = 'Да'
            else:
                self.sell_blocked = 'Нет'

            self.payload = payload
            prnt('BET_FONBET.PY: balance: ' + str(self.balance))

            # self._check_in_bounds(payload, 30)
        except LoadException as e:
            prnt(e)
            raise ValueError(e)
        except Exception as e:
            self.attempt_login += 1
            if self.attempt_login > 3:
                str_err = 'Attempt login many: ' + str(self.attempt_login) + ', err: ' + str(e) + ', resp: ' + str(
                    resp.text)
                prnt(str_err)
                raise ValueError(str_err)
            prnt(e)
            time.sleep(5)
            return self.sign_in()
コード例 #25
0
def exchangeRate(code):
    return ExchangeRates(strftime("%Y-%m-%d"))[code]
コード例 #26
0
cur_time=a.split('-')[0]+'-'+a.split('-')[1]+'-'+a.split('-')[2]
print(cur_time)

class users():
    def new(id_user):
        a=open('users.db')
        dump=a.read()
        a.close()
        a=open('users.db','w')
        a.write(dump+'\n')
        a.write(str(id_user))
        print('New user succeful added to db')
    
    
# Запрашиваем данные на 26-е июня.
rates = ExchangeRates(cur_time)

rates.date_requested  # 2016-06-26 00:00:00
rates.date_received  # 2016-06-25 00:00:00
# 26-е был выходной, а курс на выходные установлен 25-го
rates.dates_match  # False

bot = telebot.TeleBot('917894932:AAEiMHPRsBB5SquDTQlW77yG2GyghtQ-3EA');

apihelper.proxy = {
    'http': 'http://177.87.39.104:3128',
    'https': 'https://177.87.39.104:3128',
    # Замените на данные своего proxy
}
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
コード例 #27
0
ファイル: bot1.py プロジェクト: dimbag-alex/mybot
import COVID19Py  # для работы с информацией о COVID-19

import requests  # для работы с API погоды

import telebot  # для работы с ботом

from pycbrf.toolbox import ExchangeRates  # для работы с базой данных Центробанка

# токен
bot = telebot.TeleBot('1125432380:AAE5heK6G69ZM6Dz2nmBrpBpHjL0G0Is63E')
# дата
today = datetime.datetime.today()
datenow = today.strftime("%Y-%m-%d-%H.%M.%S")[0:-9]
# список валют по сегодняшней дате
rates = ExchangeRates(datenow)
# ключ доступа к сервису OpenWeatherMap
api_key = "29b80b85e54d33543a13a5962a8185cb"
# для отправки запросв погоды
base_url = "http://api.openweathermap.org/data/2.5/weather?"

covid19 = COVID19Py.COVID19()


# начало работы
@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'Здравствуй.')

    bot.send_message(message.chat.id,
                     "Напиши мне /help, чтобы узнать, что я могу сделать!")
コード例 #28
0
from pycbrf.toolbox import ExchangeRates
import os

data = '2019-05-08'

os.system('cls')
print('Что смотрим? USD или EUR?')
cons = input('Введи сюда: ')
os.system('cls')
if cons == '':
    print('Путое значение! Выбрана валюта по умолчанию')
    type = 'USD'
elif cons in ('USD', 'usd', 'dollar', 'доллар'):
    type = 'USD'
elif cons in ('EUR', 'eur', 'euro', 'евро'):
    type = 'EUR'
else:
    print('Ошибка! Выбрана валюта по умолчанию')
    type = 'USD'

rates = ExchangeRates(data)
name = rates[type].name
value = rates[type].value

print('''Курс валюты! v0.1
Название: {} 
Дата: {} 
Значение: {} руб.'''.format(name, data, value))
コード例 #29
0
ファイル: cbrf-test.py プロジェクト: Maxim963/praktika
import datetime
from pycbrf.toolbox import ExchangeRates
from tkinter import *

rates = ExchangeRates(datetime.date.today())
rates.date_requested  # выбранная Дата- 00:00:00
rates.date_received  # выбранная Дата- 00:00:00
# 26-е был выходной, а курс на выходные установлен 25-го
rates.dates_match  # False
    
# Список всех курсов валют на день доступ в rates.rates.
    
# Поддерживаются разные идентификаторы валют:
rates['USD'].name  # Доллар США
rates['R01235'].name  # Доллар США
rates['840'].name  # Доллар США
#print(rates['USD'].value)
#print(rates['R01235'].name)
#print(rates['EUR'].name)
#print('Сейчас: ',(datetime.datetime.now()))

root = Tk()
e = Entry(root, width=200)
b = Button(root, text='Перевести')
l = Label(root, bg='white', fg='black', width=200)
def strToSortlist(event):
    s = e.get()
    s = s.split()
    s.sort()
    l['text'] = ' '.join(s)
 
コード例 #30
0
from pymongo import MongoClient
from pprint import pprint
from pycbrf.toolbox import ExchangeRates
import datetime


client = MongoClient('localhost', 27017)
db = client['vacancy']
hh = db.hh_vacancy

#hh.delete_many({})

salary = 10000

now = datetime.datetime.now().strftime("%Y-%m-%d")
rates = ExchangeRates(now)
print(rates['KZT'].value)

list = hh.find(
{
    '$or' :
    [
        {
            '$and':
            [
                {'currency': 'руб'},
                {
                    '$or':
                    [
                        {'price_min': {'$gt': salary}},
                        {'price_max': {'$gt': salary}}