Українською мовою програмування: перший телеграм бот
Вступ
Вітання вам суспільсво від мене. Адже сьогодні я покажу те, чого ще не було, а може і більше не буде.
Сьогодні я розповім як зробити простенького телеграм бота українською мовою. Перепрошую, українською мовою програмування.
дисклеймер: все показане у цій статті виконано професіоналом своєї справи і наразі не рекомендується повторювати на продакшені з високим навантаженням
Отже, для цього нам необхідно обрати мову програмування. Виходячи з того, що пропозиції на цьому ринку не багато (хоча попит видніється), я думаю можна обрати перше, що попадеться на очі. В нашому випадку це буде мавка.укр — сучасна українська мова програмування. Як каже розробник, Мавка все ще на стадії розробки і не готова до повноцінного використання. Тим не менше, враховуючи, що я є тим самим розробником, можу собі дозволити використовувати.
Встановлення
Перед використанням, очевидно, мову необхідно встановити на пристрій. Зробити це можна наступною командою в емуляторі терміналу:
npm i -g mavka
Як видно з команди, перед цим треба додатково інсталювати Node.js 18+ . Також кажуть, що наразі Мавка працює лише на Linux і MacOS.
Після встановлення, працездатність можна перевірити прописавши команду мавка
.
Щоб точно впевнитись, що все працює, можна написати простеньку програму «привіт» та спробувати її запустити. Створюємо файл привіт.м
та заповнюємо його кодом:
дія сказати_привіт_як(ім'я)
друк("%(ім'я) каже привіт!")
кінець
сказати_привіт_як("Леся")
Пробуємо запустити і...все працює!
Ну, тепер можна перейти до бота.
Бот
Можна подумати, що зробити телеграм бота такою мовою завдання не просте, і це буде правильною думкою. Адже, щонайменше, телеграм використовує англійську мову в своєму API. На щастя, існує розширення Мавки, що надає зручну обгортку над цим «апі».
Розширення знаходиться тут github.com/...mavka-ukr/tgbot-extension, і, як видно з опису, підключити його можна наступною дією:
підключити_розширення_з_мережі("https://raw.githubusercontent.com/mavka-ukr/tgbot-extension/main/tgbot.m.js")
Назвемо файл з кодом бота бот.м
та додамо до нього цю дію першим рядком.
Також, потрібно створити нового бота в самому телеграмі і отримати до нього токен. В статті описувати не буду, але зробити це можна через t.me/BotFather.
Гаразд, надалі описувати кожен крок буде нудно, а тому відразу покажу кінцевий код першого бота.
Читаючи код, можна зрозуміти, що бот, на кожне повідомлення з текстом «привіт», відповідає «ну привіт...».
Запустити бота можна все тією ж командою мавка бот
.
Бот 2
Наступний бот буде трішки складніший і цікавіший.
Цей бот вміє надсилати статистику втрат росіян якщо написати «покажи статистику» в чат.
Бот 3
Нажаль, я зайнятий релізом мови, а тому з третім ботом, за бажанням, експериментуйте самі.
Завершення
На кінець хочеться нічого не казати. Але все-ж напишу пару слів. Я обрав прикладом телеграм бота по тій причині, що він досить добре відображає можливості мови і показує вирішення конкретної задачі. Очевидно, що створювати Мавкою можна не лише телеграм ботів, а будь-що.
Чи вважаю я, що українська мова не підходить для програмування — ні. Хоча маю визнати, що не бачу сильного застосування її в низькорівневих задачах. Я вважаю, що українською мовою можна програмувати буденні й високорівневі штуки. Чи доцільно це робити? Це питання мене не цікавило ні на старті проєкту, ні зараз.
Документації до розширення бота ще немає, але можна легко розібратись в коді. «апі» телеграму перекладалось ChatGPT і після того не перевірялось.
Мова все ще не готова до кінця, хоча перший реліз вже видніється десь на горизонті. Тим не менше, гратись на цьому етапі вже можна.
Післямова
Назва походить від моєї любові до Лесі Українки й самого образу істоти та не має відношення до мультфільму, що недавно вийшов у прокат.
Посилання
26 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів