Идея В диалогах в телеграмме я очень часто использую телеграм-бота: inlatexbot .
Позволяет вставить Latex прямо в диалог телеграмма - это удобно: математическую запись можно отправить с четкой картинкой, вот так
, не таким образом sqrt(4)*2^x * 1/3 =1024 .
Но не менее часто мне нужен функционал в телеграмме Вольфрам Альфа : рассчитать сложный счет за вечеринку с друзьями, различные проценты, решить уравнение и так далее - полный функционал WolframAlpha, но не выходя из диалога телеграмм.
Вольфрамовое соединение
Я нашел API Wolfram Alpha для Python ( https://pypi.org/project/wolframalpha/ ).Документация предельно понятна, и вы можете делать все, что доступно в веб-версии.
Правда, есть ограничение бесплатного API Wolfram API — 2000 запросов в месяц.
Код, работающий с вольфрамом, предельно прост и у меня получился в 4 строки.
В первых двух строках я импортирую модуль wolframalpha, создаю клиента со своим APP ID — сначала нужно зарегистрироваться в wolfram и получить его, затем можно отправлять запросы в wolframalpha и просто печатать результат того, что получил Wolfram Alpha. Все работает — теперь можно приступать к интеграции с Telegram.import wolframalpha client = wolframalpha.Client('TOKEN') res = client.query(query) print(next(res.results).
text)
Интеграция в Telegram-бот
Остается только соединить все воедино и отправить полученные от Telegram запросы в Wolfram и предоставить ответ пользователю.Создаю бота в @BotFather, в настройках включаю встроенный режим, чтобы бот работал прямо в диалоге Telegram. я использую пример встроенный бот из GitHub для Telegram и отправить ответ пользователю.
Вот как выглядит самая важная часть кода.
def inlinequery(update, context):
"""Handle the inline query."""
query = update.inline_query.query
print(query)
res = client.query(query)
results = [
InlineQueryResultArticle(
id=uuid4(),
title="Волшебный ответ здесь!",
input_message_content=InputTextMessageContent(
"{} => *{}*".
format(query, next(res.results).
text),
parse_mode=ParseMode.MARKDOWN))]
update.inline_query.answer(results)
Как это работает?
Все очень просто — прямо в диалоге ввожу @calcherebot 12+15 и он мне выдает ответ 27 .Телеграм-бот упрощает не только процесс расчета чего-либо, но и процесс различных доказательств, например, можно узнать численность населения Москвы или средний вес человека, и бот в каком-то смысле меняет общение: вы нет больше не нужны скриншоты калькуляторов, Википедии или других источников - теперь все может быть доступно в диалоге.
Что дальше?
Пока бот работает локально и поддерживает всего 2000 запросов в месяц, что очень мало для публичного использования.В моих планах доработать его для массового использования всеми, кому он нужен: студентами, учёными, просто людьми, которым нужно что-то посчитать или доказать прямо в телеграмме.
Если у вас есть идеи или предложения по улучшению (скорее всего они у вас есть, так как бот был написан за пару часов), напишите мне на почту: [email protected] Теги: #python #математика #api #боты для мессенджеров #Telegram #wolframalpha
-
Ноутбук Compaq 2710P-Ru544Ea От Hp
19 Oct, 24 -
Новогоднее Настроение Из Ардуино И Палочек
19 Oct, 24 -
Лужков Купил Москва.ру
19 Oct, 24