Как прошептать сообщение в тг
Перейти к содержимому

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

  • автор:

Отправляем голосовые сообщения в Telegram

bg-picture

Нет времени набирать сообщение вручную? Выход есть – записывай голосовые сообщения! А благодаря усовершенствованному функционалу Telegram они могут стать даже вполне неплохой альтернативой видеозвонкам. Сейчас объясним почему и, конечно же, научим Вас записывать сообщения голосом, даже, если вы еще не чувствуете себя профессионалом в использовании этого мессенджера. Вперед!

Проведем подготовительные работы

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

Выполнив эти несложные пункты, переходим к поиску необходимого контакта, нужного собеседника. Для этого запускаем приложение, в правом верхнем углу находим контактную книжку и затем выбираем нужный контакт.

Выбрав собеседника и перейдя в диалоговое окно, Вы, наконец, можете приступить к записи “войс-месседжа”. Сейчас объясним, как именно.

Записываем сообщение в приложении Telegram

В телеграме голосовое сообщение можно записать двумя разными способами. Начнем с традиционного.

Запись аудиосообщения

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

Затем в правом нижнем углу обратите внимание на значок микрофона. Удерживая этот значок, Вы начнете моментальную запись. Теперь Вы можете наговорить любое сообщение.

Не понравилась запись? Сбились с мысли? Для отмены отправки, сделайте короткий свайп влево.

Если же Вас устраивает записанное послание, то для его отправки по окончании записи просто отпустите значок микрофона.

Вот и все! Выполнив эти шаги, собеседник сможет послушать Ваше голосовое сообщение и отправить Вам свой ответ.

Запись видеосообщения

Подобную функцию не часто встретишь за пределами телеграма. Ведь это почти видеозвонок! Фишка в том, что при записи подобного типа сообщений (при включенной фронтальной камере) Ваша мимика и эмоции будут хорошо видны собеседнику. При включенной камере традиционного типа, Вы сможете записать все, что видите перед глазами в реальном времени и сиюминутно поделиться записью со своим приятелем.

Так каким же образом делиться с близкими подобными посланиями?

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

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

Готово! Теперь Вы вооружены и этим, довольно необычным, способом голосового: можете демонстрировать своим близким все, что с Вами происходит в режиме реального времени, и не тратить лишние секунды и минуты на то, чтобы открывать приложение камеры, выбирать видео из фотогалереи и так далее.

В заключение

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

Записывать подобные голосовые сообщения очень просто. Стоит лишь следовать инструкциям, описанным выше.

Так что, если Вы являетесь тем самым человеком, который все еще сомневается, нужен ли ему Telegram, если уже имеется WhatsApp и Viber, поверьте функция с видео-голосовыми далеко не единственная уникальная фишка приложения.

Делитесь своими моментальными реакциями с близкими и наслаждайтесь жизнью!

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

Как в Телеграмме переслать сообщение от одного пользователя к другому и поделиться новостями! Все о том как писать и редактировать Telegram сообщения с ПК!

Главная функция мессенджера – отправлять и получать информацию, все остальное является приятным дополнением.

Как писать сообщения в Телеграмме на компьютере и смартфоне?

Написать и отправить «письмо» с компьютера можно как в приложении, так и с помощью сервиса онлайн web.telegram.org.ru:

  • Открыть приложение Телеграмм на компьютере или зайти в мессенджер онлайн;
  • Открыть уже существующий чат или начать новый диалог, выбрав в списке контактов нужный. В нижнем поле кликнуть мышкой, чтобы поставить курсор;

  • С клавиатуры ввести сообщение и кликнуть мышкой по пиктограмме синего самолетика;

  • Когда «письмо» будет отправлено – появиться одна зеленая галочка, как только галочек станет две, можно не сомневаться, что запись прочтена получателем.

Переписываться можно и в приложении на смартфоне, при этом беседу можно начать на одном устройстве, а продолжить на другом – главное, чтобы пользователь был авторизован под одним и тем же аккаунтом. Для того чтобы отправить сообщение с телефона на ОС Android потребуется:

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

Также просто дела обстоят с отправкой «писем» в Телеграмм с iPhone :

  • Открыть чат или беседу;
  • Нажать на поле для ввода;
  • Набрать текст и отправить собеседнику, нажав на пиктограмму самолетика (кнопку Send).

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

Никто не застрахован от опечаток, случайной отправки записи или от несдержанных слов. В течение 48 часов после отправки «письмо» можно отредактировать. Чтобы сделать это на компьютере потребуется:

  • Кликнуть правой клавишей мыши по сообщению и выбрать в появившемся меню «Изменить» ;

  • Сделать правку и кликнуть по галочке;

  • В чате рядом с записью появиться пометка об изменении.

Изменить отправленное «письмо» можно не только на компьютере, но и на смартфоне.

Инструкция для Android

  • Тапнуть (нажать) по записи, которую надо отредактировать;
  • В меню выбрать «Изменить» ;
  • После редактирования тапнуть по пиктограмме галочки;
  • В чате появится новый вариант «письма» с пометкой об изменении.

Алгоритм на iPhone

  • Нажать на запись и выбрать Edit (Изменить);
  • После редактирования тапнуть Save (Сохранить).

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

Если пользователю понравилась запись в группе, или надо поделиться сообщением из диалога – никаких проблем:

На компьютере

  • Кликнуть правой клавишей мыши по записи и выбрать в меню пункт «Переслать» ;

  • В списке своих чатов выбрать нужный;

  • Откроется беседа. В нижнем поле можно добавить свой текст или сразу отправить запись в чат;

  • «Письмо» появится в ленте с пометкой о первоисточнике.

Так же в выпадающем меню доступна команда «Ответить» — она позволит написать «письмо» в том же чате с пометкой о том, к какой записи дан ответ.

На телефоне с Android

  • Нажать и удерживать палец на «письме», дождавшись его выделения. В верхней панели тапнуть кнопку пересылки;
  • Выбрать в списке чатов нужный;
  • При необходимости добавить свой комментарий и тапнуть кнопку отправления;
  • Письмо будет доступно собеседникам с пометкой о первоисточнике.

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

На iPhone

Здесь переслать сообщение в Телеграмме так же просто:

  • Тапнуть по записи, в появившемся меню выбрать «Переслать» (Forward);
  • В открывшемся списке чатов выбрать нужный;
  • При необходимости добавить свой комментарий и нажать кнопку отправления;
  • Письмо будет доступно собеседникам с пометкой о первоисточнике.

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

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

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

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

Что значит закрепить сообщение

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

Сколько сообщений можно закрепить

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

Как закрепить сообщение

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

На телефоне

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

Android

Чтобы закрепить конкретное сообщение в мессенджере Telegram через устройство с операционной системой Андроид, пользователю потребуется выполнить такой ряд действий:

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

Если вы захотите закрепить определенное высказывание в чате на интернет-платформе Телеграмм, то проделайте следующий набор операций на своем айфоне:

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

На компьютере

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

Desktop-версия

Если на вашем персональном компьютере имеется официальная программа от мессенджера Telegram, то закрепить сообщение в выбранном чате вы сможете таким способом:

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

Закрепить конкретное сообщение допускается и через веб-версию официального сайта Телеграмм. Для этого человеку потребуется выполнить такую последовательность манипуляций:

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

Почему не могу закрепить сообщение

Важно понимать, что закрепить сообщение в мессенджере Telegram получится не во всех случаях. Например:

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

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

Телеграм боты и отправка сообщений в Telegram в веб-платформе Falcon Space

Бот — это собеседник в телеграм, который отвечает по определенным алгоритмам вам в телеграм.

Вы пишете ему «привет», он обрабатывает эту команду по своим внутренним алгоритмам и выдает ответ в виде сообщения, картинки, документа и т.д.

Если вы уже подписаны на бота (т.е. уже связывались с ним ранее), то бот может вам слать сам сообщения: важные уведомления с сайта, дайджест новостей, напоминание о днях рождения и т.д.

Для бизнеса боты можно применять следующим образом:

  • уведомление пользователей с вашего сервиса
  • аналог email рассылки контента, но через бота
  • обработка типовых обращений от клиентов (эти дурацкие псевдоинтеллектуальные боты, которые всех нервируют).
  • выполнение части функций сервиса, например подача заявки, или подтверждение некоего действия.

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

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

Наш случай — это создание бота с управлением через процедуру SQL (на базе платформы Falcon Space). Т.е. процедура SQL определяет как обработать команды и что выдать человеку.

Как настроить бота Telegram на базе Falcon Space

Falcon Space — это платформа для создания веб-решений с управлением через SQL. Все создается и управляется на SQL. Телеграм бот управляется полностью 1 хранимой процедурой на SQL!

На основе Falcon Space вы можете создать систему личных кабинетов на сайте со встроенным телеграм ботом.

1. Находим бота BotFather -> команда /newbot -> даем ему описание, имя (заканчивается на Bot) и картинку . В итоге получаем token

2. В web.config / AppSettings настраиваем следующие параметры:

    1. proxyUrl — указываем прокси для Телеграма в таком виде http://45.89.19.84:11498 (если прокси не нужен, то просто оставляем пустыми поля)
    2. proxyUser, proxyPassword — указываем пользователя и пароль прокси.
    3. telegramOnlyTextMessages — если 1, то в обработку бота будут попадать только текстовые сообщения.
    4. telegramToken — указываем токен, который мы получили при создании бота в Телеграм (в botFather).

    3. В таблице as_users добавляем 2 поля:

    IF COL_LENGTH( 'as_users', 'telegram') IS NULL BEGIN ALTER TABLE as_users ADD telegram nvarchar ( 128 ) NULL END IF COL_LENGTH( 'as_users', 'telegramChatID') IS NULL BEGIN ALTER TABLE as_users ADD telegramChatID int NULL END 

    4. Создаем хранимую процедуру такого вида (в разделе Системный SQL / Telegram Bot):

    ALTER PROCEDURE [dbo].[telegram_bot_action] @parameters DictionaryParameter READONLY, -- входящие параметры для внутренней обработки @text nvarchar(max), @messageID int, @chatID int, @messageType nvarchar(128), @updateType nvarchar(128), @telegramUsername nvarchar(256), @firstName nvarchar(256) AS BEGIN -- select 1 - результат -- select 2 - команда select 'sendMessage' [Type], @response [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification -- select 3 - кнопки дополнительные select '' Text, '' Url, '' CallbackData DECLARE @userID int SELECT @userID = id FROM as_users WHERE telegram = @telegramUsername and telegramChatID IS NULL if(@userID is not null) BEGIN UPDATE as_users SET telegramChatID = @chatID WHERE BEGIN SELECT 1 Result, '' Msg SELECT 'sendMessage' [Type], '123' [Text], @chatID ChatId, @messageID ReplyToMessageId,0 DisableNotification RETURN END if(lower(@text)='/hello') BEGIN SELECT 1 Result, '' Msg SELECT 'sendMessage' [Type], 'Привет ' + @telegramUsername+ ' / '+ @firstName [Text], @chatID ChatId,@messageID ReplyToMessageId, 0 DisableNotification RETURN END if(lower(@text)='/start') BEGIN SELECT 1 Result, '' Msg SELECT 'sendMessage' [Type], 'Привет ' + @telegramUsername+ ' / '+ @firstName [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification RETURN END SELECT 0 Result, '' Msg END
    • @parameters — различные доп. параметры (будут впоследствии расширяться)
    • @text — текст от пользователя телеграм
    • @messageID — идентификатор сообщения от пользователя (можно использовать для указания reply)
    • @chatID — ID чата, в который мы потом отправим ответ.
    • @messageType — тип сообщения
    • @updateType — тип пришедшего обновления от хука бота
    • @telegramUsername — логин юзера в телеграм (для нас это идентификатор)
    • @firstName — имя пользователя
    • SELECT 1 — Result и Msg
    • SELECT 2 — набор команд для telegram (актуально если SELECT1.Result=1). Type, Text, ChatID, replyMessageID, DisableNotification, Channel, ButtonsJSON, parseMode
    select 'sendMessage' [Type], -- тип команды 'Привет ' + @telegramUsername+ ' / '+ @firstName [Text], -- текст команды @chatID ChatId, -- в какую комнату отправить @messageID ReplyToMessageId, -- если не NULL, то на какое сообщение отвечает 0 DisableNotification, -- Уведомлять или нет пользователя. '' channel, -- если нужно отправлять в некий канал, то пишем сюда. '<>' buttonsJSON, -- настройки кнопок '' parseMode -- формат обработки сообщений (по умолчанию html
    • SELECT 3 — внешние действия, которые могут быть вызваны по команде от телеграм бота.

    5. Проверяем, что работает бот. Подписываемся на него в telegram и выполняем /start (при этом мы получим отклик Привет. ). Если нет отклика, значит бот не запущен. Попробуйте его перезапустить в разделе Системный SQL (Старт телеграм бот).

    6. Чтобы подписать пользователя на некие действия, необходимо сначала чтобы он указал свой телеграм в профиле (поле as_users.telegram). Затем он должен сделать любую команду в телеграме, отправив боту к примеру /start

    Хранение привязки чата к пользователю системы

    В as_users есть 2 поля: telegram и telegramChatID. При первом обращении, система через хранимую процедуру обновит поле telegramChatID для соответствующего пользователя с заданным telegram. После этого он сможет получать сообщения от telegram.

    1. Для прокси можно использовать IPv4 и IPv6
    2. Прокси можно купить здесь — https://proxy.market/
    3. В as_users добавлены 2 поля telegram и telegramChatID, а также добавлена хранимая процедура [as_user_getUser] (проверьте, что они есть в вашей базе).
    4. Чтобы работало внешнее действие типа telegram в системе должна быть хранимая процедура as_user_getUser
    Create PROCEDURE [dbo].[as_user_getUser] @username nvarchar(32) AS BEGIN select top 1 * from as_users where username = @username END

    Использование бота

    • В телеграм находим бота (например, наш бот FalconSpaceBot)
    • Пишем ему /start для инициализации (осуществляется привязка вашего пользователя к чату).
    • Выполняем различные команды, например /getupdates — если команда прописана в чате, то она будет обработана и выдан ответ.

    Включение/выключение бота

    Бот включается при запуске всего веб приложения (Global.asax/app_start).

    Чтобы его выключить вручную, можно из-под админа использовать команду (перейти на URL) /Controls/Stuff/StopTelegramBot

    Для включения — /Controls/Stuff/StartTelegramBot

    Детали реализации бота

    Реализован в виде отдельного потока, который крутится бесконечно и ожидает приема от бота обновлений. Если есть обновление, то запускает для него процедуру обработки этого обновления (сообщения в нем)

    • Для перевода строки в сообщении бота используйте Char(10);

    Howto по Telegram боту

    Не работает бот Telegram. Что делать?

    1. Проверьте что прокси прописан в web.config
    2. Проверьте что прокси не просрочен
    3. Проверьте что бот в целом отвечает на ваши команды в телеграм (если не отвечает)
    4. Попробуйте запустить заново бота /Controls/Stuff/StartTelegramBot (либо перезапустите пул приложения в IIS)
    5. Проверьте as_trace (коды TG и Exception). В нем пишутся ошибки и инициализация и завершение потока бота.
    6. Сделать as_print в процедуре и посмотреть попадает ли туда бот.
    7. Бот может остановиться если у вас запущена локальная отладка (в этом случае возникает конфликт обновлений, поэтому необходимо отключать бота при локальном запуске — в web.config убирать токен).
    8. Бот может падать, если выключается автоматически пул IIS. Необходимо его настроить так, чтобы он не отключался при простое.
    9. Если ничего не помогает, перезагрузите пул, сайт в IIS. Проверьте, что пингуется сервера API сервис Телеграма api.telegram.org .

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

    Для этого используем Внешнее действие (в формах и других элементах) с кодом telegram.

    select 'telegram' type, 'admin' [to], 'Некий текст сообщения' [text], '' buttonsJSON, '' parseMode

    Также сообщение можно отправлять через уведомления (если включено Немедленное уведомление).

    У пользователя должны быть корректно проставлены поля telegram (заносится сначала вручную для пользователя его логин) и telegramChatID(проставляется автоматически при первом обращении юзера к боту через Телеграм) в as_users. Также можно указать имя в виде ‘@username’ — тогда отправка будет по логину телеграма (если он есть в tg_settings).

    buttonsJSON задает настройки кнопок.

    parseMode задает формат обработки сообщений (по умолчанию html. Возможные значения html, default, markdown, markdownv2).

    ВАЖНО! Необходима реализация процедуры tg_getChatID:

    CREATE OR ALTER PROCEDURE [dbo].[tg_getChatID] @username nvarchar(32) AS BEGIN if(left(@username, 1)='#') begin select substring(@username, 2, len(@username)-1) chatID return end if(left(@username, 1)='-') begin select @username chatID return end if(left(@username, 1)='@') begin select top 1 chatID from tg_settings where '@' + telegram = @username end else begin select top 1 telegramChatID from as_users where username = @username end END

    Как отправить сообщение в закрытый чат

    Для этого используем символ «» и chatID в параметре to

    select 'telegram' type, 'text 1' text, '-340984421' [to] 

    Передается chatID. Для групп это отрицательное число, которое можно получить либо экспортом сообщений группы в JSON (и там можно будет найти chat_id), либо через запрос вида:

    https://api.telegram.org/bot11111111:22222222/getUpdates

    Примечание: бот необязательно должен быть администратором группы.

    Как отправить сообщение пользователю по chatID

    Для этого используем символ «#» и chatID в параметре to

    select 'telegram' type, 'text 1' text, '-340984421' [to] 

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

    Для этого используем Внешнее действие (в формах и других элементах) с кодом telegram.

    select 'telegram' type, '' [to], 'falconspace' channel, 'Некий текст сообщения' [text]

    Бот должен быть добавлен администратором в канал при этом.

    ВАЖНО! Необходима реализация процедуры tg_getChatID

    Как сделать рассылку пользователям при сохранении формы.

    Указываем всех пользователей в SELECT 2 + связываем с настройками показа данного сообщения (т.е. показываем тем, кто разрешил отправку на этот тип уведомлений. Поля настроек могут меняться). Пример:

    select 'telegram' type, username [to], 'Обновление Falcon Space: ' + isnull(@fieldname, '') + char(10) + isnull(@fielddesc, '') [text] from as_users where telegram in (select telegram from tg_settings where sendUpdates=1)

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

    Кнопки могут быть либо Inline (в чате при ответе), либо Reply(внизу под чатом).

    Кнопки передаются в виде JSON в параметре SELECT 2 ButtonsJSON:

    SELECT ' < "oneTimeKeyboard": true, "resizeKeyboard": true, "inlineButtons": [ [ , , ], [ , , ] ], "replyButtons": [ [ , , ], [ , , ] ] > ' ButtonsJSON

    Для Inline кнопок указываем:

    • CallbackData — данные для передачи в процедуру
    • Text — название кнопки.
    • Url — если указан, то кнопка будет открывать указанный адрес. ВАЖНО! Вводите корректный URL, иначе будет исключение и вся исходная команда не будет работать.

    Для reply кнопок команда используется в поле text. Также для них есть 2 настройки:

    • OneTimeKeyboard — Requests clients to hide the keyboard as soon as it’s been used.
    • ResizeKeyboard — Requests clients to resize the keyboard.

    В процедуру для онлайн кнопок будет передаваться как команда поле callbackData, а для reply кнопок — поле text.

    Дополнительная информация о кнопках Телеграм:

    Использование Эмоджи в сообщениях

    Выбираем символ, на страницу символа берем его код UTF16 LE

    В SQL используем этот код следующим образом:

    CAST(0x3DD801DE AS NVARCHAR(MAX))

    Как блокировать телеграм аккаунты в боте

    Указываем в начале процедуры action следующий код

    if(lower(@telegramUsername) in ('badguy')) begin select 0 Result, 'No access' Msg end 

    В итоге бот ничего не будет отвечать клиенту.

    Также вы можете настроить хранение статуса блокирования как отдельный столбец в таблице tg_settings.

    Как выводить html теги в сообщениях

    Для этого используется параметр paseMode=’html’ (это значение используется по умолчанию).

    Есть альтернативные способы разметки — default, markdown, markdownv2.

    ВАЖНО. В html режиме отправка сообщения в телеграм поддерживает только эти теги b, strong, i, em, u, ins, s, strike, a, code, pre. Если будут запрещенные теги, то сообщение не отправится. Детали — https://core.telegram.org/bots/api#html-style

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

    Для этого даем ему ссылку вида: https://t.me/FalconSpaceBot?start=1, где FalconSpaceBot — это имя вашего бота.

    Пользователь переходит на бота и нажимает там кнопку Запустить. При этом ваша команда /start должна учитывать что в этом случае придет она как /start 1

    Т.е. используем left () для определения команды start, а не точное соответствие.

    if(left(@text,6)='/start') begin . end

    Логирование команд боту от пользователей

    В начале процедуры action установите сохранение в trace. В дальнейшем можно анализировать все сообщения через страницу диагностики /diag

    declare @header nvarchar(128) = 'command from @' + @telegramUsername + ' ' + isnull(@firstName, '') exec [dbo].[as_trace_warn] @code ='tg', @header = @header, @itemID =@chatID, @text = @text, @username = ''

    Многоступенчатые команды в боте

    Для этого используются следующие поля в tg_settings:

    1. currentCommand — текущая рабочая команда (в рамках которой пользователь вводит данные).
    2. currentCommandStep — текущий шаг в команде (для определения какой текст вывести в рамках команды).
    3. currentCommandData — здесь накапливаются данные по выполнению команды.

    Пример кода такой команды:

    CREATE PROCEDURE [dbo].[telegram_bot_action] @parameters DictionaryParameter READONLY, -- входящие параметры для внутренней обработки @text nvarchar(max), @messageID int, @chatID int, @messageType nvarchar(128), @updateType nvarchar(128), @telegramUsername nvarchar(256), @firstName nvarchar(256) AS BEGIN -- select 1 - результат -- select 2 - команда select 'sendMessage' [Type], @response [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification -- select 3 - кнопки дополнительные select '' Text, '' Url, '' CallbackData -- кнопки статичного меню declare @mnuUpdates nvarchar(128) = CAST(0x3CD895DD AS NVARCHAR(MAX)) + ' Обновления', @mnuHelp nvarchar(128) = CAST(0x5327 AS NVARCHAR(MAX)) + ' Помощь', @mnuConcept nvarchar(128) = CAST(0x3DD84BDC AS NVARCHAR(MAX)) + ' Проработка проекта' declare @request nvarchar(max)=@text, @response nvarchar(max)='', @clearCommand bit = 1, -- признак что необходимо очистить текущую команду для юзера (устанавливаем в false. когда у нас выполняется мультикоманда из нескольких шагов) @currentCommand nvarchar(256), @currentCommandStep int, @currentCommandData nvarchar(max), -- текущая команда (когда команда выполняется в несколько действий) @found bit = 0, -- признак что команда найдена @tgSettingID int, -- id настроек юзера из tg_settings @userID int -- id связанного юзера из as_users /* PRINT. declare @temp nvarchar(128) set @temp = cast(@chatID as nvarchar) + '__'+ @telegramUsername exec as_print @str= @temp */ set @telegramUsername = lower(@telegramUsername) select top 1 @userID = id from as_users where lower(telegram) = @telegramUsername and telegramChatID is null if(@userID is not null) begin update as_users set telegramChatID = @chatID where @tgSettingID = id, @currentCommand = currentCommand, @currentCommandStep = currentCommandStep, @currentCommandData = currentCommandData from tg_settings where lower(telegram) = @telegramUsername if(@tgSettingID is null) begin insert into tg_settings (telegram, chatID, name, sendUpdates, sendAdvices) values (@telegramUsername, @chatID, @firstName, 1, 1) set @tgSettingID = scope_identity() end -- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| if(lower(@text)='/start') begin set @response = 'Привет ' + @telegramUsername+ ' / '+ @firstName + ' ' + CAST(0x3DD801DE AS NVARCHAR(MAX)) select 1 Result, '' Msg select 'sendMessage' [Type], @response [Text], @chatID ChatId, @messageID ReplyToMessageId, 1 DisableNotification, 1 IsReplyButtons -- select 3 - кнопки дополнительные select '' Text, '' Url, '' CallbackData select @mnuUpdates Text, '' Url, '1' CallbackData union select @mnuHelp Text, '' Url, '1' CallbackData union select @mnuConcept Text, '' Url, '2' CallbackData set @found = 1 end -- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| if(lower(@text) =lower(@mnuConcept) or lower(@currentCommand)=lower(@mnuConcept)) begin if(isnull(@currentCommandStep,0)=0) begin set @response ='Предлагаю согласовать место и время обсуждения концепции вашего проекта. '+char(10)+ CAST(0x3DD8DEDC AS NVARCHAR(MAX)) + ' Укажите ваш контакт (удобнее всего это делать по вацапу, телеграму или скайпу):' -- text никак не обрабатываем здесь set @clearCommand=0 end if(@currentCommandStep=1) begin set @response =CAST(0x3DD852DD AS NVARCHAR(MAX)) + ' Укажите удобное время для обсуждения:' update tg_settings set currentCommandData=isnull(currentCommandData, '') + @text + ', ' where set @clearCommand=0 end if(@currentCommandStep=2) begin set @response =CAST(0x3DD8C4DC AS NVARCHAR(MAX)) + ' Если есть начальное краткое описание проекта, то напишите пожалуйста здесь:' update tg_settings set currentCommandData=isnull(currentCommandData, '') + @text + ', ' where set @clearCommand=0 end if(@currentCommandStep=3) begin set @response =CAST(0x3CD8C1DF AS NVARCHAR(MAX)) + ' Спасибо за ваше обращение! Хорошего дня! ' + CAST(0x3DD80ADE AS NVARCHAR(MAX)) update tg_settings set currentCommandData=isnull(currentCommandData, '') + @text + ', ' where declare @notifyText nvarchar(max) = 'Запись на концепцию из телеграма: ' + isnull((select top 1 currentCommandData from tg_settings where '') exec [dbo].[as_nt_createNotification] @additional = '', @from = 'telegram', @to = 'admin', @url = '', @text =@notifyText, @typeCode ='client', @returnID =0 set @clearCommand=1 end update tg_settings set currentCommand=@mnuConcept, currentCommandStep=@currentCommandStep + 1 where 1 Result, '' Msg select 'sendMessage' [Type], @response [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification set @found = 1 end -- . другие команды -- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -- Непонятная команда if(@chatID>0 and @found=0) begin set @response = 'Не понял Вас. Введите /help, чтобы посмотреть все команды' select 1 Result, '' Msg select 'sendMessage' [Type], @response [Text], @chatID ChatId, @messageID ReplyToMessageId, 0 DisableNotification end if(@clearCommand=1)begin update tg_settings set currentCommand='', currentCommandStep=0, currentCommandData = '' where end -- save log insert into tg_log(telegram, created, request, response) values(@telegramUsername, getdate(), @request, @response) select 0 Result, '' Msg END 

    В примере указан полный код процедуры бота с обработкой start, меню и бизнес-логикой ступенчатой команды. Также в коде есть пример как использовать Эмоджи в боте.

    Ошибки при работе с ботом

    Ошибка Error converting data type bigint to int. | command /start

    В этом случае необходимо изменить тип данных для этих полей с int на bigint: tg_settings.chatID и as_users.telegramChatID

    ALTER TABLE as_users ALTER COLUMN telegramChatID bigint NULL ALTER TABLE tg_settings ALTER COLUMN chatID bigint NULL

    Также надо исправить параметр @chatID с int на bigint в процедуре telegram_bot_action.

    Не работают inline кнопки

    Если они не отображаются, то проверьте, что не указаны reply кнопки (они вместе с inline кнопками не используются) и режим в команде IsReplyButtons=0

    Если используются URL, то проверьте что указан корректный URL для кнопок.

    Если кнопки есть, но при клике не реагируют, то проверьте, что в appsettings (в MVC версии — в web.config) установлен параметр telegramOnlyTextMessages = 0:

    Дополнительные материалы

    Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

    Google поиск по нашей документации

    • Руководства
    • Основа Falcon Space
    • Основные компоненты
    • Возможности
    • Коммуникация с пользователемНастройка уведомлений для личного кабинета на сайтеКак настроить чат помощи для пользователейВнедрение чата в личный кабинет пользователяРабота с комментариями к объектамТелеграм боты и отправка сообщений в Telegram в веб-платформе Falcon SpaceКак создать чат бот ВКонтакте. VK бот для обработки сообщений в группе.Как сделать push уведомлениеКак отправить Email, SMS или уведомление пользователюКак отправлять SMS с сайта через smsc.ruОтправка email с шаблоном письмаКак сделать ежедневную отправку отчета по проекту в групповой чат Telegram?Настройки почты для отправки сообщений с сайтаВидеочат. Интеграция с Vox ImplantБазовая интеграция с Jitsi Meet (звонки с видео)Отправка СМС через targetsms.ruКак сделать механизм отправки различных писем по шаблону с возможностью редактирования перед отправкой
    • Дизайн, стилизация
    • Лендинги
    • Универсальный API
    • Примеры интеграций
    • Каталоги
    • Навигация
    • Документы
    • Дополнительные компоненты
    • Продвижение, SEO
    • Системные моменты
    • Системное администрирование
    • HOWTO
    • Таблицы
    • Формы
    • Загрузка файлов, картинок
    • Работа с SQL
    • HOWTO JS
    • HOWTO Верстка
    • Решение проблем

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *