import telebot
import datetime
import pandas as pd
TOKEN = 'токен'
bot = telebot.TeleBot(TOKEN)
now = datetime.datetime.now()
def times():
timenow = str(now.year) + "." + str(now.month) + "." + str(now.day) + " " + str(now.hour) + ":" + str(now.minute) + ":" + str(now.second)
return timenow
time = times()
def get_curr_rates(curr_code='RUB'):
df = pd.read_html('http://www.finanz.ru/valyuty/v-realnom-vremeni',
encoding='utf-8')[1] \
.dropna(axis=1)
df.columns = ['curr_pair','bid','call','close','pct','abs_val','time']
df = df.loc[df['curr_pair'].str.contains(r'\/{}'.format(curr_code))]
df['curr'] = df['curr_pair'].str.split('/').str[0]
num_cols = ['bid','call','close']
df[num_cols] = df[num_cols].apply(pd.to_numeric, errors='coerce')
return df.set_index('curr')['bid']
rub = get_curr_rates(curr_code='RUB')
usd = rub['USD']/10**4
eur = rub['EUR']/10**4
gbp = rub['GBP']/10**4
jpy = rub['JPY']/10**4
cny = rub['CNY']/10**4
chf = rub['CHF']/10**4
@bot.message_handler(commands=['start'])
def start(message):
sent = bot.send_message(message.chat.id, 'Привет, '+ str(message.from_user.first_name) + '! Чтобы узнать список доступных команд введите воспользуйтесь командой /help')
@bot.message_handler(commands=['help'])
def start(message):
sent = bot.send_message(message.chat.id, 'Список доступных команд :\n\n1."/usd" - Курс доллара.\n2."/eur" - Курс евро.\n3."/gbp" - Курс Фунта.\n4."/jpy" - Курс Иены.\n5."/cny" - Курс Юани.\n6."/chf" - Курс Франка.')
@bot.message_handler(commands=['usd'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Доллара на момента запроса ( ' + str(time) + ' ) - ' + str(usd) + ' Рублей')
@bot.message_handler(commands=['eur'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Евро на момента запроса ( ' + str(time) + ' ) - ' + str(eur) + ' Рублей')
@bot.message_handler(commands=['gbp'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Фунта на момента запроса ( ' + str(time) + ' ) - ' + str(gbp) + ' Рублей')
@bot.message_handler(commands=['jpy'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Иены на момента запроса ( ' + str(time) + ' ) - ' + str(jpy) + ' Рублей')
@bot.message_handler(commands=['cny'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Юани на момента запроса ( ' + str(time) + ' ) - ' + str(cny) + ' Рублей')
@bot.message_handler(commands=['chf'])
def start(message):
sent = bot.send_message(message.chat.id, 'Стоимость 1 Франка на момента запроса ( ' + str(time) + ' ) - ' + str(chf) + ' Рублей')
bot.polling(none_stop=True, interval=0)