Как в Телеграмм подключить отправку голосовых сообщений в моторолле

Содержание

А знаете, как её отключить? То есть вернуть обратно значок микрофона и саму запись простых голосовых, а не видео-сообщений. Просто тапните на изображение микрофона/фотоаппарата. Это и есть переключение режимов новой функции.

Как записать и отправить голосовое сообщение в Телеграмме

Функция отправки коротких голосовых сообщений для многих пользователей заменило традиционный способ общения в интернете с помощью текста. Зачастую это более удобно и занимает значительно меньше времени.

Сегодня мы разберемся как отправлять голосовые сообщение в телеграмме на телефоне и компьютере, а также разберем все дополнительные возможности мессенджера при отправке такого сообщения.

Настраиваем прокси

Если вы хотите иметь анонимность своего профиля, то настройте прокси. Эта функция доступна как на компьютерных устройствах, так и на Андроиде.

Чтобы получить доступ в приложение через прокси, нужно осуществить настройку SOCKS5. Снизу будет дана пошаговая инструкция по установке нового Ай-Пи адреса.

Как в Telegram отправить голосовое сообщение

  1. Откройте программу.
  2. Зайдите в «Settings» — «Расширенные».
  3. Далее, вам необходимо поменять тип соединения на TCP с нестандартным socks5-прокси.
  4. Укажите адрес прокси-сервера и нужный порт. Желательно использовать американский, немецкий и английский адреса.
  5. Поставьте галочку снизу и сохраните.

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

Как прослушать голосовое сообщение в Телеграм

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

Настройки приватности

Разработчики «Телеграмма» хорошо позаботились о настройках приватности. Если вы хотите скрыть время своего последнего посещения, а также статус онлайн, то проделайте следующие действия. Данная функция доступна и владельцам Андроида.

  1. Зайдите в меню установок настроек.
  2. Открываем пункт «Приватность и безопасность».
  3. Заходим в раздел «Последняя активность».
  4. Если вы хотите, чтобы ваше последнее посещение видели только ваши контакты, то выберите соответствующий параметр. Если же вы хотите, чтобы ни один человек не видел времени вашей активности, то поставьте галочку на слове «Никто».
  5. Нажмите на «Сохранить» внизу страницы.

Насколько безопасен Telegram?

Все сообщения Telegram всегда надежно зашифрованы. Сообщения в секретных чатах используют шифрование клиент-клиент, в то время как облачные чаты используют шифрование клиент-сервер / сервер-клиент и хранятся в зашифрованном виде в облаке Telegram (подробнее здесь).

Как поменять микрофон Telegram?

— В окне вызовов щелкните значок шестеренки (3) в правом верхнем углу. — В разделе «Настройки вызова» — «Микрофон» выберите «Микрофон (виртуальное аудиоустройство Avsoft) (4)» в качестве устройства ввода. Закройте окно, когда закончите. С этого момента VCSD 9.5 будет служить основным микрофоном в Telegram, и ваш голос будет автоматически преобразован.

Инструкция по отправке голосовых сообщений на компьютере

Чтобы отправить месседж голосом вашему собеседнику c компьютер а, следуйте этой инструкции:

  1. За йдите в Телеграм .
  2. Выберите нужный чат (собеседника) .
  3. Наведите курсор на значок микрофон а в правом нижнем углу чат а.
  4. Нажмите на значок микрофона левой кнопкой мыши и не отпуска й те, пока не запишите обращение до конца.
  5. Запись отправится автоматически, как только вы отпустите левую кнопку мыши или переместите курсор за пределы Телеграм-чата.

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

Вы знали, что можно скрыть свою активность от других пользователей Телеграм? Как это делать, мы рассказали в этой статье.

Собеседник включает мо ю запись , но не слышит голоса

Если при нажатии на ваше голосовое сообщение человек слышит его очень тихо или не слышит совсем, вероятно, что-то не так с вашим микрофоном:

  1. Микрофон не подключен или отошел — проверьте разъемы, куда подключается гарнитура и кнопку включения на гарнитуре.
  2. Выставлен низкий уровень громкостимикрофона — можно увеличить его в настройках компьютера.
  3. Компьютер не видит вашу гарнитуру из-за того, что установлены неподходящие драйверы — нужно скачать подходящую версию в интернете.

Еще может быть проблема в том, что ваша речь не попадает в зону действия микрофона. Попробуйте говорить громче и ближе к нему, если собеседнику вас плохо слышно.

Вы перепробовали исправить неполадки, но ваш аудиофайл все равно не могут прослушать? Попробуйте отправить запись другому человеку.

Если история повторяется, тогда проблема в самой технике (микрофон сломался). В этом случае следует обратиться к мастеру.

Вы пользуетесь стикерами в Телеграм? В этой статье мы поделились 300 лучшими наборами стикеров 2019 года.

Как скрыть время последнего посещения в телеграмме?

Как скрыть время посещения

  1. Откройте настройки.
  2. Выберите «Приватность и безопасность».
  3. Нажмите на «Последняя активность».
  4. В списке выберите, кому позволено видеть дату вашего последнего посещения.
  5. Ниже, пункт «Всегда скрывать от» — выберите, кто ни при каких условиях не должен ее увидеть.

Как включить голосовые вместо видео

Зачастую новые пользователи мессенджера ещё не до конца разобравшись в функционале приложения случайно переключают режим аудио сообщений на видео и не могут разобраться как вернуть режим в исходное состояние.

  1. Итак, для начала запускаем приложение и выбираем любой диалог. Канал для смены режима не подойдет, т. к. его функционал не позволяет обмениваться сообщениями между пользователями.
  2. Теперь наведите палец на иконку фотоаппарата и сделайте короткий свайп вниз. Будьте внимательны, при длительном свайпе начнется запись видео.
  3. Просто «смахните» иконку вниз, и она сменится на привычный микрофон. Обратная смена происходит этим же действием.
Еще по теме:  Значок анонимного акк в Телеграмме

Источник: ronis-media.ru

Как перевести голосовое сообщение с английского на русский в телеграмме?

Бот SaluteSpeech в Телеграм распознаёт речь и переводит голосовые сообщения на русском и английском языках в текстовые. Пользователь мгновенно получает качественную расшифровку голоса и может переслать сообщение в другой чат или скопировать текст для размещения на сайте.

Как перевести голосовое сообщение с английского на русский в телеграмме?

Содержание

  • Как перевести Голосовое в Телеграме?
  • В каком формате голосовые сообщения в телеграмме?
  • Как перевести звуковую дорожку с английского на русский?
    • Как перевести голос на русский?
    • Как настроить голосовое сообщение в телеграмме?
    • Как читать голосовые сообщения?
    • Как перевести Голосовое в Телеграме?

      Найдите у себя в чатах голосовое сообщение и перешлите боту; Спустя мгновение бот расшифрует его и представит в виде текста.

      Как перевести голосовое сообщение с английского на русский язык?

      Для всех смартфонов на базе Android доступно бесплатное приложение Textr. Для расшифровки аудио с ним также надо «поделиться» голосовым сообщением — через пару секунд после этого вы получите обычный и приятный глазу текст.

      Как переводить голосовые?

      1. Откройте приложение «Google Переводчик» на устройстве Android.
      2. Укажите нужную языковую пару. Язык исходного текста можно выбрать в левом нижнем углу экрана.
      3. Нажмите на значок микрофона .
      4. Когда появится приглашение «Говорите», произнесите текст, который нужно перевести.

      Как переводить голосовые сообщения в текст?

      Сервис Google Документы позволяет переводить устную речь в записанный текст. Это встроенная функция с поддержкой разных языков. Для активации голосового ввода перейдите в раздел «Инструменты» и кликните на «Голосовой ввод». Затем нажмите на кнопку и говорите.

      Как перевести голосовое сообщение в аудио?

      1. Запустите Sound Recorder.
      2. Щелкните Файл и выберите Oткрыть.
      3. Выберите файлы скопированные с Sansa плеера, и выберите Открыть.
      4. Нажмите Файл и выберите Сохранить Как.
      5. Нажмите Изменить чтобы выбрать формат.
      6. В списке Форматов, выберите MPEG Layer-3.

      В каком формате голосовые сообщения в телеграмме?

      Дело в том, что голосовые сообщения в Telegram записываются в ogg-формате и кодируются opus-кодеком. Наиболее популярные сервисы распознавания голоса не поддерживают этот формат (или кодек), поэтому приходится его преобразовывать в . wav, . mp3 или даже в тот же .

      Как перевести сообщение с английского языка на русский?

      1. Откройте приложение «Google Переводчик» на устройстве Android.
      2. Укажите нужную языковую пару. Язык оригинала можно выбрать в левом нижнем углу экрана.
      3. Введите слово или текст. Чтобы перевод был более точным, вводите полные предложения.
      4. В текстовом окне появится перевод.

      Какой бот в Телеграм переводит аудио в текст?

      Как на телефоне перевести с английского языка на русский?

      1. На устройстве Android откройте настройки .
      2. Нажмите Система Язык и ввод Языки. Если пункта «Система» нет, тогда в разделе «Личные данные» выберите Язык и ввод Языки.
      3. Нажмите «Добавить язык» и выберите нужный язык.
      4. Перетащите его в начало списка.

      Как перевести звуковую дорожку с английского на русский?

      1. google.
      2. google translate.
      3. звук в текст

      Как перевести голос на русский?

      1. Откройте приложение «Google Переводчик» на устройстве Android.
      2. Нажмите на значок микрофона Речь в текст . Если эта кнопка недоступна, значит выбранный язык не поддерживается.
      3. Укажите нужную языковую пару. Исходный язык можно выбрать в левом нижнем углу экрана.

      Как перевести речь с аудио?

      1. Speechpad. Онлайн-сервис Speechpad позволяет через браузер Google Chrome переводить речь в текст.
      2. Dictation. Зарубежный сервис Dictation поддерживает более 100 языков, в том числе русский.
      3. RealSpeaker.
      4. Speechlogger.
      5. Zapisano.org.
      6. Express Scribe.
      7. ListNote.
      8. Voice to Text.

      Какая программа переводит аудио в текст?

      Переводчик Google — сервис для перевода с одного языка на другой. Здесь вы можете надиктовать материал, трансформировать записанную речь в текст — и перевести его на другой язык. Либо включить видео или аудио на ПК или в соседней вкладке и дать сервису записать речь.

      Как перевести аудио в текст на телефоне?

      1. Откройте Переводчик Google, выберите язык перевода, в нашем случае — русский язык.
      2. Нажмите на значок микрофона (Голосовой ввод).
      3. Предоставьте доступ к микрофону.
      4. Говорите, в окне переводчика отобразится ваш текст и перевод на английский язык.

      Как преобразовать голосовое сообщение в текст онлайн?

      1. Загрузите видео Загрузите аудио (или видео), которое Вы хотите транскрибировать, просто перетащите на VEED —это очень просто.
      2. Транскрибируйте Нажмите «Субтитры» > «Авто Транскрипция».
      3. Переведите Просто нажмите «Настройки» и выберите, на какой язык перевести скрипт.

      Как настроить голосовое сообщение в телеграмме?

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

      Как отправлять чужие голосовые сообщения в телеграмме?

      1. Откройте редактор нужного бота в вашем кабинете ботхелп, и в блоке «сообщение» добавьте карточку «Голосовое».
      2. Есть возможность отправлять любой файл в формате .OGG до 50 МБ, но он будет отображаться в «плоском» виде:
      3. Отправка аудиофайлов
      4. Для подписчика в чате это будет отображаться так:

      Как прослушать голосовое сообщение в телеграмме чтобы не было видно?

      В папке Telegram откройте папку с названием Telegram audio. В этой папке найдите файл голосового сообщения ориентируясь по времени получения сообщения, после, прослушиваете сообщение и отправитель не узнает что вы уже прослушали или прочли его сообщения.

      Как читать голосовые сообщения?

      1. Откройте приложение «Телефон» .
      2. Нажмите на значок голосовой почты в нижней части экрана. Если этого значка нет, позвоните в службу голосовой почты.

      Как скачать аудио из телеграмм если запрещено?

      Сделать это администраторы каналов могут в настройках: нужно перейти в раздел «Тип канала» и в пункте «Сохранение контента» нажать «Запретить копирование». После этого подписчики не смогут сохранять медиа и пользоваться функциями «Сохранить в галерею», «Сохранить в загрузки» и «Сохранить как».

      Видео: как перевести голосовое сообщение с английского на русский в телеграмме?

      Были ли наши ответы полезными?

      Спасибо за ваш отзыв!

      Популярное за последний день

      Что можно сделать с помощью Телеграм бота?

      Что можно сделать с помощью Телеграм бота?

      Кроме голосовых сообщений, в бота можно загрузить видеоролики и аудиозаписи с диктофона или пересыла.

      Как включить бота в телеграмме?

      Как включить бота в телеграмме?

      Подключить Телеграм бота можно по пути: аккаунт администратора — раздел «Каналы» — подраздел «Telegr.

      Еще по теме:  Может ли бот в Телеграмме написать первым

      Как создать бота в тг без рекламы?

      Как создать бота в тг без рекламы?

      Создать самостоятельно чат-бот в Telegram можно бесплатно за несколько простых шагов: Перейдите в ди.

      Как в телеграмме сделать свою музыку?

      Как в телеграмме сделать свою музыку?

      Создайте канал, откройте его в приложении на компьютере и просто перетащите в окно желаемые треки. Д.

      Как называется Телеграм бот с музыкой?

      Как называется Телеграм бот с музыкой?

      Музыка THUNDER MUSIC BOT — быстрый и простой бот для поиска и скачивания музыки с большой базой трек.

      Как в ТГ сделать музыку?

      Как в ТГ сделать музыку?

      Откройте Telegram на компьютере, кликните по кнопке нового сообщения и нажмите «Создать группу». Выб.

      Как увеличить вовлеченность?

      Как увеличить вовлеченность?

      В заключение. Активность – это любые реакции и действия пользователей на странице. По ней можно суди.

      Как привлечь молодую аудиторию?

      Как привлечь молодую аудиторию?

      Более простой способ – кликнуть «Пригласить друзей» и выбрать людей, которым нужно отправить приглаш.

      Как привлечь к себе клиентов?

      Как привлечь к себе клиентов?

      Легче всего получить отзыв от клиента, попросив его об этом — можете или напрямую отправить ссылку н.

      Как создать LAL аудиторию?

      Как создать LAL аудиторию?

      Для использования look-alike в кампании надо создать сегмент. Перейдем в «Списки пользователей» и кл.

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

      Как общаться с ChatGPT с помощью голосовых сообщений в Telegram

      Пару недель назад я написал бота, который позволяет говорить с ChatGPT с помощью голосовых и текстовых сообщений. Это удобно, потому что не нужно использовать VPN для работы с OpenAI, а про клавиатуру можно забыть вовсе.

      В этой статье делюсь пошаговой инструкцией, как реализовать ChatGPT Telegram-бота на NodeJS и задеплоить его на виртуальный сервер. Подробности под катом!

      Каркас Telegram-бота

      Настройка рабочего окружения

      Начнем с самого простого: инициализируем проект и установим необходимые зависимости для среды разработки.

      npm init -y npm i -D nodemon cross-env

      После инициализации в директории проекта сгенерируется конфигурационный файл package.json. А вторая команда подтянет необходимые пакеты, которые позволяют запускать приложения NodeJS в режиме разработки.

      Теперь добавим поддержку установленных ES-модулей в package.json для разработки и продакшена.

      «type»: «module», «scripts»: < «start»: «cross-env NODE_ENV=production node ./src/main.js», «dev»: «cross-env NODE_ENV=development nodemon ./src/main.js» >,

      package.json

      Установка Telegraf и регистрация бота

      Рабочее окружение настроено — давайте приступим к написанию самого бота. Создаем главный файл ./src/main.js , устанавливаем фреймворк Telegraf и config.

      npm i config telegraf

      После установки необходимых пакетов и создания главного файла, можно запустить самого бота. Для этого нужно импортировать Telegraf и config, а после — добавить ключ API для работы с Telegram.

      import < Telegraf >from ‘telegraf’ import config from ‘config’ const bot = new Telegraf(config.get(‘TELEGRAM_BOT’)) bot.launch() process.once(‘SIGINT’, () => bot.stop(‘SIGINT’)) process.once(‘SIGTERM’, () => bot.stop(‘SIGTERM’))

      ./src/main.js
      О настройке config.get() ниже.

      Теперь создадим «заготовки» для настроек приложения, где будут расположены данные для Telegram-бота. Добавляем два файла — ./config/default.json с конфигурациями для разработки и ./config/default.json — для продакшна.

      config/default.json

      config/production.json

      На практике, если в продакшене API-токен не меняется, вы можете обойтись одним конфигурационным файлом — например, только config/default.json .

      Добавление функционала

      Бот запущен и работает, но пока ничего не умеет делать. Поэтому нужно добавить первый функционал: научиться фильтровать голосовые сообщения и получать на них ссылки в формате ogg, а после конвертировать в mp3.

      Последний шаг нужен, чтобы в дальнейшем переводить голосовые сообщения в текст через сервисы OpenAI. Они принимают на вход файлы формата ogg. Подробнее нюансы описаны на официальной странице.

      Фильтрация голосовых сообщений

      Отбирать голосовые сообщения можно с помощью встроенного фильтра Telegraph — message. Достаточно в качестве аргумента передать значение voice — и бот будет «считывать» голосовые сообщения.

      import < Telegraf >from ‘telegraf’ import < message >from ‘telegraf/filters’ import < code >from ‘telegraf/format’ import config from ‘config’ import < ogg >from ‘./ogg.js’ const bot = new Telegraf(config.get(‘TELEGRAM_BOT’)) bot.on(message(‘voice’), async (ctx) => < try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) >catch (e) < console.log(`Error while voice message`, e.message) >>)

      Чтобы получить ссылку на голосовое сообщение, нужно передать в метод getFileLink специальный идентификатор.

      Конвертация голосовых сообщений и получение ссылок в формате ogg

      Чтобы обрабатывать и конвертировать полученные из getFileLink данные, создадим обработчик — например, ./src/ogg.js — и установим зависимости. А также создадим директорию для хранения голосовых.

      Далее в ./src/ogg.js создадим объект OggConverter , который будет создавать ogg-записи и сохранять их в специальной директории.

      В методе create мы сначала скачиваем ogg с серверов Telegram, а потом записываем их локально в файл через stream . Голосовой ogg-файл будет храниться в ./voices/$.ogg .

      import axios from ‘axios’ import < createWriteStream >from ‘fs’ import < dirname, resolve >from ‘path’ import < fileURLToPath >from ‘url’ const __dirname = dirname(fileURLToPath(import.meta.url)) // ==== async create(url, filename) < try < const oggPath = resolve(__dirname, ‘../voices’, `$.ogg`) const response = await axios(< method: ‘get’, url, responseType: ‘stream’, >) return new Promise((resolve) => < const stream = createWriteStream(oggPath) response.data.pipe(stream) stream.on(‘finish’, () =>resolve(oggPath)) >) > catch (e) < console.log(‘Error while creating ogg’, e.message) >>

      OggConverter.create()

      Дальше конвертируем ogg в mp3 с помощью функции toMp3 . Выходной файл будет лежать по адресу: ./voices/$.mp3

      toMp3(input, output) < try < const outputPath = resolve(dirname(input), `$.mp3`) return new Promise((resolve, reject) => < ffmpeg(input) .inputOption(‘-t 30’) .output(outputPath) .on(‘end’, () =>resolve(outputPath)) .on(‘error’, (err) => reject(err.message)) .run() >) > catch (e) < console.log(‘Error while creating mp3’, e.message) >>

      OggConverter.toMp3

      Опционально. Чтобы после конвертации в mp3 файлы ogg удалялись, можно написать дополнительную утилиту.

      import < unlink >from ‘fs/promises’ export async function removeFile(path) < try < await unlink(path) >catch (e) < console.log(‘Error while removing file’, e.message) >>

      Голосовой чат с ChatGPT

      Теперь давайте напишем основные функции для перевода mp3 в текст и работы с ChatGPT соответственно. Для этого нужно подключить API ChatGPT: установить библиотеки, сгенерировать и добавить в настройки приложения уникальный ключ.

      npm i openai

      Установка пакета openai.

      https://platform.openai.com/account/api-keys

      ./config/default.json

      Для работы с API OpenAI создадим файл ./src/openai.js и опишем базовый класс. В его конструкторе создаем объект с конфигурациями, которые будут использоваться при отправке запросов на серверы OpenAI, и объект для подключения к API.

      import < Configuration, OpenAIApi >from ‘openai’ import config from ‘config’ import < createReadStream >from ‘fs’ class OpenAI < roles = < ASSISTANT: ‘assistant’, USER: ‘user’, SYSTEM: ‘system’, >constructor(apiKey) < const configuration = new Configuration(< apiKey, >) this.openai = new OpenAIApi(configuration) > async chat(messages) < >async transcription(filepath) < >> export const openai = new OpenAI(config.get(‘OPENAI_KEY’))

      Еще по теме:  Адрес к файлам Телеграмм удалить

      ./src/openai.js

      Здесь roles — формат ролей, который принимает сервер openai. assistant — сообщения из gpt-чата; user — пользовательские сообщения; system — контекст для чата (например, «ChatGPT, веди себя как программист с многолетним стажем»).

      Функция transcription отвечает за перевод mp3 в текстовые сообщения с помощью модели whisper-1. Притом она достаточно хорошо распознает русский язык.

      async transcription(filepath) < try < const response = await this.openai.createTranscription( createReadStream(filepath), ‘whisper-1’ ) return response.data.text >catch (e) < console.log(‘Error while transcription’, e.message) >>

      OpenAI.transcription()

      Функция chat отвечает за самое главное — общение с ChatGPT на базе модели gpt-3.5-turbo. Четвертую модель можно использовать только по предварительно одобренной заявке.

      async chat(messages) < try < const response = await this.openai.createChatCompletion(< model: ‘gpt-3.5-turbo’, messages, >) return response.data.choices[0].message > catch (e) < console.log(‘Error while gpt chat’, e.message) >>

      Асинхронная функция chat принимает messages — массив объектов с сообщениями, ролями и именами отправителей. А после — возвращает данные из response , ответ ChatGPT.

      Осталось только добавить вызовы функций OpenAI.transcription и OpenAI.chat из головного скрипта ./src/main.js.

      import < openai >from ‘./openai.js’ import < removeFile >from ‘./utils.js’ // ===== bot.on(message(‘voice’), async (ctx) => < try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) removeFile(oggPath) const text = await openai.transcription(mp3Path) await ctx.reply(code(`Ваш запрос: $`)) const messages = [] const response = await openai.chat(messages) await ctx.reply(response.content) > catch (e) < console.error(`Error while proccessing voice message`, e.message) >>)

      Готово — бот «понимает» голосовые сообщения и умеет отвечать на них текстом. Но это еще не все: сейчас бот не сохраняет контекст общения, не запоминает предыдущие ответы и запросы. Он работает как друг, которому все равно, что вы ему рассказывали в прошлом.

      Тестирование функции OpenAI.chat(). Запись голоса доступна по ссылке.

      Сохранение данных сессии

      Осталось переписать код так, чтобы сообщения и их контексты сохранялись для каждого пользователя. Подробнее в комментариях к коду.

      // импортируем вместе с Telegraf пакет session import < Telegraf, session >from ‘telegraf’ import < initCommand, processTextToChat, INITIAL_SESSION >from ‘./logic.js’ // ====== const bot = new Telegraf(config.get(‘TELEGRAM_TOKEN’)) // говорим боту, чтобы он использовал session bot.use(session()) // при вызове команды new и start бот регистрирует новую беседу, // новый контекст bot.command(‘new’, initCommand) bot.command(‘start’, initCommand) bot.on(message(‘voice’), async (ctx) => < // если сессия не определилась, создаем новую ctx.session ??= INITIAL_SESSION try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) const link = await ctx.telegram.getFileLink(ctx.message.voice.file_id) const userId = String(ctx.message.from.id) const oggPath = await ogg.create(link.href, userId) const mp3Path = await ogg.toMp3(oggPath, userId) removeFile(oggPath) const text = await openai.transcription(mp3Path) await ctx.reply(code(`Ваш запрос: $`)) await processTextToChat(ctx, text) > catch (e) < console.log(`Error while voice message`, e.message) >>)
      import < openai >from ‘./openai.js’ export const INITIAL_SESSION = < messages: [], >export async function initCommand(ctx) < ctx.session = INITIAL_SESSION await ctx.reply(‘Жду вашего голосового или текстового сообщения’) >export async function processTextToChat(ctx, content) < try < // пушим сообщения пользователя в сессию (в контекст) ctx.session.messages.push(< role: openai.roles.USER, content >) // пушим сообщения бота в сессию (в контекст) const response = await openai.chat(ctx.session.messages) ctx.session.messages.push(< role: openai.roles.ASSISTANT, content: response.content, >) await ctx.reply(response.content) > catch (e) < console.log(‘Error while proccesing text to gpt’, e.message) >>

      ./src/openai.js

      Бот сохраняет контекст общения до тех пор, пока вы не сделаете новую сессию.

      Текстовый чат с ChatGPT

      Бот умеет отвечать на голосовые сообщения и сохранять результаты в сессию. Давайте не будем ограничивать пользователей без микрофона и добавим обработку текстовых запросов. Для этого нужно просто обработать через фильтр сообщения с типом text и передать значение напрямую в ChatGPT.

      bot.on(message(‘text’), async (ctx) => < ctx.session ??= INITIAL_SESSION try < await ctx.reply(code(‘Сообщение принял. Жду ответ от сервера. ‘)) await processTextToChat(ctx, ctx.message.text) >catch (e) < console.log(`Error while voice message`, e.message) >>)

      Деплой бота на облачный сервер

      Все готово, но есть проблема: программа запущена на компьютере. Это неудобно, если вы хотите обеспечить круглосуточную работу бота. Ведь тогда нужно поддерживать бесперебойную работу компьютера и постоянное соединение с интернетом. Поэтому лучше перенести бота в облако — это сделать довольно просто.

      Подготовка контейнера

      Чтобы задеплоить бота на сервер, сначала нужно создать Dockerfile, который будет описывать процесс сборки приложения в контейнер. А для автоматизации команд docker build и docker run можно завести Makefile.

      FROM node:16-alpine WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . ENV PORT=3000 EXPOSE $PORT CMD [«npm», «start»]
      build: docker build -t tgbot . run: docker run -d -p 3000:3000 —name tgbot —rm tgbot

      Теперь для запуска приложения на сервере будет достаточно написать команду make run .

      Запуск сервера и загрузка бота

      Поскольку бот работает с ChatGPT через API и потребление вычислительных ресурсов минимально, для деплоя подойдет сервер линейки Shared Line. Это линейка облачных серверов с возможностью оплаты только части ядра, например 10, 20 или 50%. Shared Line позволяет использовать все преимущества облака и не переплачивать за неиспользуемые ресурсы.

      Для начала зарегистрируемся в панели управления и создадим новый сервер в разделе Облачная платформа. Затем — настроим его.

      Боту подойдет ОС Ubuntu 22.04 LTS, 1 виртуальных ядра с минимальной границей в 20% процессорного времени, 512 МБ оперативной памяти, а также 5 ГБ на сетевом диске (базовый HDD). С учетом новой публичной подсети (/29, 5 адресов IPv4) такая конфигурация выйдет примерно в 41 ₽/день.

      Далее устанавливаем на сервер Docker согласно инструкции, git и клонируем репозиторий с проектом. Проверяем конфигурации и API-ключи, собираем образ через make build и запускаем c помощью make run !

      Пример работы бота.

      Супер — бот работает! Дальше вы можете внедрить свой функционал. Например, по сохранению диалога с ботом и выводу истории запросов.

      Как мы видим, в разработке подобных Telegram-ботов нет ничего сложного. Тем более для хостинга такого проекта не нужно платить полную стоимость сервера: ресурсы оплачиваются по модели pay-as-you-go. Видеоверсия инструкции доступна по ссылке.

      • Блог компании Selectel
      • Мессенджеры
      • Node.JS
      • API
      • Искусственный интеллект

      Источник: habr.com

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