Telegram bot разбор сообщения

Aiogram – это библиотека Python для создания Telegram ботов. Она предоставляет удобный и мощный интерфейс для взаимодействия с Telegram API. В этой статье мы рассмотрим наиболее распространенные методы, используемые в Aiogram.

Отправка сообщений

Для отправки сообщений в Aiogram используется метод send_message() . Он принимает два обязательных аргумента: идентификатор чата и текст сообщения. Вот пример использования этого метода:

from aiogram import Bot, types bot = Bot(token=’YOUR_API_TOKEN’) async def send_hello_message(chat_id: int): await bot.send_message(chat_id, ‘Привет, мир!’)

Отправка фото

Для отправки фото в Aiogram используется метод send_photo() . Он принимает два обязательных аргумента: идентификатор чата и объект типа InputFile . Вот пример использования этого метода:

from aiogram import Bot, types bot = Bot(token=’YOUR_API_TOKEN’) async def send_hello_photo(chat_id: int): with open(‘hello.jpg’, ‘rb’) as photo: await bot.send_photo(chat_id, photo)

Отправка клавиатуры

Для отправки клавиатуры в Aiogram используется метод send_message() , который может принимать дополнительные параметры для настройки клавиатуры. Например, для отправки простой инлайн-клавиатуры можно использовать следующий код:

Создание телеграм-ботов на python (telebot) #16 / Получение ввода, метод register_next_step_handler


from aiogram import Bot, types bot = Bot(token=’YOUR_API_TOKEN’) async def send_hello_keyboard(chat_id: int): keyboard = types.InlineKeyboardMarkup() keyboard.add(types.InlineKeyboardButton(text=’Нажми меня’, callback_data=’button_pressed’)) await bot.send_message(chat_id, ‘Привет, мир!’, reply_markup=keyboard)

Получение информации о сообщении

Для получения информации о сообщении в Aiogram используется объект типа Message . Он может содержать различную информацию о сообщении, например, текст, идентификатор чата и т.д. Вот пример использования этого объекта:

from aiogram import Bot, types bot = Bot(token=’YOUR_API_TOKEN’) async def process_message(message: types.Message): chat_id = message.chat.id text = message.text await bot.send_message(chat_id, f’Вы написали: ‘)

Заключение

В этой статье мы рассмотрели наиболее распространенные методы, используемые в Aiogram. Надеюсь, эта информация была полезной для вас и поможет вам начать создание своих первых ботов с помощью Aiogram. Если у вас есть какие-либо вопросы или замечания, пожалуйста, не стесняйтесь обращаться к нам.

Источник: aiogram.ru

Что такое чат боты в Телеграм, как они работают и зачем нужны — ответ простыми словами

Раньше нужно было знать программирование при написании чат-бота в Телеграм. Сегодня многие пользователи, не умеющие писать код, могут самостоятельно создать онлайн-помощника.

Еще по теме:  Группа в Телеграмме с ежедневными заданиями

Поделиться
Поделиться

Что такое чат боты в Телеграм, как они работают и зачем нужны - ответ простыми словами

Чтобы узнать, как работает чат-бот в Телеграм и как создать его, нужно зарегистрироваться на сайте-конструкторе подобных роботов для бизнеса.

Как пишут чат-ботов без кода

Многие пользователи не знают, что такое чат-бот в Телеграм. Простыми словами чат-бот в Телеграме – это программа, которая заменяет штат технической поддержки. Робот умеет общаться с людьми по запланированному сценарию или самостоятельно с помощью машинного обучения.

Сервис Botman предлагает на своем конструкторе создать подобного робота для Телеграма или для ВК-сообществ. Перед созданием пользователю нужно сделать токен. Это уникальный идентификатор, который не позволит мошенникам воспользоваться программой в своих целях.

Вы даже можете обучиться созданию и начать зарабатывать на этом. В среднем начинающий специалист зарабатывает от 35 000 рублей, а хороший уже от 70 000 рублей. Если интересно попробовать свои силы, то добро пожаловать на бесплатный интенсив.

Создают токен следующим образом:

  1. Войти в приложение Telegram.
  2. В поисковой строке прописать «Botfather». Это «отец» всех роботов – программа, отвечающая за управление онлайн-помощниками.
  3. Прописать в команду «/start».
  4. В открывшемся списке из нескольких десятков команд выбрать «newbot».
  5. Канал Botfather попросит дать имя будущему онлайн-помощнику. В конце обязательно нужно дописать приставку «bot» иначе программа не примет название. Имя будущего помощника должно быть тоже уникальным. Например, «Tovar_bot_bot».
  6. После того как пользователь придумает и введет уникальное имя, нажмет кнопку «Отослать», программа примет название и вышлет разработчику идентификатор.

Простейший голосовой помощник. Часть 2. Внедрение в telegram

По статье PYTHON: ПРОСТЕЙШИЙ ГОЛОСОВОЙ ПОМОЩНИК нам несколько раз писали в личные сообщение вопросы про возможность интеграции “голосового помощника” в telegram. Мы изначально не планировали этого делать, но потом задали себе вопрос – почему бы не попробовать?

Используемые библиотеки

Для решения данной задачи нам понадобятся следующие библиотеки.

  • telebot (pyTelegramBotAPI) – по словам автора библиотеки, простая, но расширяемая реализация на Python для Telegram Bot API.
  • requests – библиотека для обработки HTTP запросов.
  • random – библиотека для, как не странно, рандома.
  • speech_recognition – используем туже распозновалку голоса, что и в прошлой статье.
  • pyttsx3 – если раньше мы использовали консольный аналог say, то теперь нам нужно отправлять на сервера telegram голосовые файлы в формате oga
  • os – нам нужна для работы с файловой системой.
  • time – нужно только в одном моменте для sleep.
Еще по теме:  Как кинуть самоуничтожающую фотку в Телеграмме на Айфоне

import telebot import requests import random import speech_recognition as sr import os import pyttsx3 import time

Сразу отмечу, что тут указаны не все, но мы постараемся ничего не пропустить по ходу статьи

Получение токена и создание оболочки бота

Одной из важных вещей, которым делится с нами Крестный отец – токен нашего бота. Его мы и указываем в коде. В статье токен изменен для соблюдения анонимности

token = ‘fa3hnerpw25mga095mt125aga1si2lr!fk39sktndsawg’ bot = telebot.TeleBot(token)

Про ffmpeg

Так как в telegram использует в голосовых сообщениях файлы формата oga- (да не простой oga, а opus’овский), но мы можем обрабатывать библиотекой speech_recognition файлы формата wav, то на помощь придет к нам библиотека pydub, которой для работы нужно FFmpeg.

FFmpeg – это кроссплатформенное решение для записи, конвертации и записи аудио и видео. В нашем случае необходима для конвертации oga в wav и обратно. Для удобства FFpeg мы распаковали архив в директорию кода (ffmpeg был взят на сайте gyan.dev в разделе release). Про установку FFmpeg следует отметить, что корректно работать будет только после перезагрузки сервера или пк – это избавит нас от ошибки winerror 2.

В коде указываем для pydub расположение ffmpeg.

from pydub import AudioSegment AudioSegment.converter = os.getcwd() + «\ffmpeg\bin\ffmpeg.exe» AudioSegment.ffmpeg = os.getcwd() + «\ffmpeg\bin\ffmpeg.exe» AudioSegment.ffprobe = os.getcwd() + «\ffmpeg\bin\ffprobe.exe»

Инициализация голосового движка

Для формирования text-to-speech файлов нам понадобится pyttsx3. Особенностью pyttsx3 является возможность работы оффлайн, нам это навряд ли это пригодится, но отметить стоит. А также мы не забываем выбрать “голос” нашего бота.

import pyttsx3 text_to_speach = pyttsx3.init() voices = text_to_speach.getProperty(‘voices’) for voice in voices: print(‘———————‘) print(‘Имя: %s’ % voice.name) print(‘ID: %s’ % voice.id)
——————— Имя: Microsoft Irina Desktop — Russian ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_RU-RU_IRINA_11.0 ——————— Имя: Microsoft Zira Desktop — English (United States) ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_EN-US_ZIRA_11.0 ——————— Имя: Microsoft David Desktop — English (United States) ID: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_EN-US_DAVID_11.0

Еще по теме:  Как приручить дракона возвращение домой Телеграмм

Не густо. Выбираем из доступных русскоговорящих голосов (или устанавливаем дополнительно в случае отсутствия или вкусовых предпочтений), в нашем примере имеется только IRINA, классический женский роботизированный голос. IRINA, I choose you.

RU_VOICE_ID = «HKEY_LOCAL_MACHINESOFTWAREMicrosoftSpeechVoicesTokensTTS_MS_RU-RU_IRINA_11.0» text_to_speach.setProperty(‘voice’, RU_VOICE_ID)

Начало (/start)

Наконец, мы добрались до самого бота. На команду /start бот напишет нам небольшое приветствие.

Подсказки (/help)

Наш новый бот будет иметь практически тоже самое, что его первая версия, но для понятия какой функционал имеется, воспользуемся командой /help.

Обработка контента

В Telegram используется достаточно большое количество типов контента: видео, аудио, голосовые сообщения, стикеры и т.д. И для каждого события отправки пользователем определённого типа сообщения мы можем задать различную обработку. В нашей сатье мы воспользуемся только text и voice. Начнем с text.

Обработка текстовых сообщений

Тип контента text – это отправленные пользователем текстовые сообщения. Наша версия первого бота с некоторыми улучшениями приведена ниже.

Обработка голосовых сообщений

С обработкой голосовых сообщений все несколько сложнее. Как мы упоминали ранее, telegram хранит голосовые сообщения в формате oga. Нам нужно их обработать в wav для обработки speech-to-text (можно этого и не делать – имеется отличный аналог от Яндекса с обработкой oga, но руки до него так и не дошли).

Текущие результаты

А вот так звучит наша Irina (Пример_1.mp3, Пример_2.mp3)

Планы развития

  • Развертывание на облачных серверах
  • Решить проблему с отправкой oga в telegram – не везде могут открываться отправленные потом голосовые сообщения
  • Внедрение “напоминалок” для пользователей бота
  • Изменение интерфейса на более юзерфрендли
  • Внедрение логирования событий сразу в бд
  • Отработка исключений, возникающих при нестандартных действиях пользователя
  • Перевод части существующего функционала в отдельные подфункции

Заключение

Вот мы и закончили с первой попыткой внедрения бота в telegram. Что-то получилось хорошо, что-то не очень. Не бойтесь комментировать и задавать вопросы – только так будет развиваться профсообщество и все мы вместе с ним!

Источник: newtechaudit.ru

Рейтинг
( Пока оценок нет )
Загрузка ...