Top.Mail.Ru

Создание telegram бота с помощью библиотеки telebot на Python

Создание telegram бота с помощью библиотеки telebot на Python

Всем доброго времени суток! 

Сегодня мы с Вами создадим телеграм бота на 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()

Автор:

360

Читайте также

0 комментариев