Всем доброго времени суток!
Сегодня мы с Вами создадим телеграм бота на python для обмена валют.
Для обмена валют будем использовать сайт https://currate.ru/, регистрируемся, получаем ключ для для API.
Далее создаем бота, создавать будем через BotFather, копируем токен и переходим в PyCharm.
Для написания кода будем использовать библиотеку telebot, скачиваем и устанавливаем через терминал
pip install pyTelegramBotAPI
И пишем код
import telebot
token = "5720071999:AAH6iWr3USQVTIhOZwcs-S0Jnwl3XeFeHac"
bot = telebot.TeleBot(token)
Здесь мы импортируем саму библиотеку, создаем переменную куда добавляем токен из бота.
Далее создаем экземпляр обьекта.
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Start')
Принимает команду старт и посылаем боту по chat.id текст Start
Весь код будет выглядеть следующим образом
import telebot
import requests
from telebot import types
token='5911920272:AAFhT07JJAfwHy9XRSgD_UkxPAh-k3xvEDU'
bot=telebot.TeleBot(token)
@bot.message_handler(regexp='<[a-zA-Z]+,[0-9]+><[a-zA-Z]+,[0-9]+>')
def handle_message(message):
data = requests.get('https://www.cbr-xml-daily.ru/daily_json.js').json()
#< USD, 123 > < RUB, 123 >
print(1)
spl = message.text.split('<')[1:]
one = spl[0][:-1].split(',')
two = spl[1][:-1].split(',')
convert_string = one[0]+two[0]
print(convert_string)
kurs = requests.get('https://currate.ru/api/?get=rates&pairs='+convert_string+'&key=96646ddb8c651fa440d495b55a565e9c').json()
res = float(kurs['data'][convert_string]) * float(one[1])
bot.send_message(message.chat.id, str(res))
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id,'Привет')
@bot.message_handler(commands=['button'])
def button_message(message):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Кнопка")
markup.add(item1)
bot.send_message(message.chat.id,'Выберите что вам надо',reply_markup=markup)
@bot.message_handler(content_types='text')
def message_reply(message):
if message.text=="Кнопка":
bot.send_message(message.chat.id,"https://habr.com/ru/users/lubaznatel/")
bot.infinity_polling()
Автор: Евгений Морковин
0 комментариев