2015-03-31 5 views
10

Я не могу найти пример отправки сообщения по протоколу телеграммы из C#. Я попытался использовать this, но не смог. Можете ли вы привести мне примеры?Telegram C# пример отправить сообщение

+0

Что вы должны сделать? – Milad

+1

Первое сообщение после одного года? Добро пожаловать в СО. Если вам нужна помощь, сначала вам нужно помочь. [Что вы пробовали] (http://mattgemmell.com/what-have-you-tried/) до сих пор? – aloisdg

ответ

-2

Телеграмма имеет официальный API, который может сделать именно то, что вам нужно, вы должны смотреть в запросы HTTP, хотя ..

Вот документация на отправку сообщения:

Функция

messages.sendMessage 

Params

peer InputPeer User or chat where a message will be sent 
message string Message text 
random_id long Unique client message ID required to prevent message resending 

Пример запроса

(messages.sendMessage (inputPeerSelf) "Hello, me!" 12345678901) 

ошибки Возврат

Code Type Description 
400 BAD_REQUEST PEER_ID_INVALID Invalid peer 
400 BAD_REQUEST MESSAGE_EMPTY Empty or invalid UTF8 message was sent 
400 BAD_REQUEST MESSAGE_TOO_LONG Message was too long. 

Current maximum length is 4096 UTF8 characters 

Для полной документации идти here.

+0

Я вижу официальный API, но я не могу понять, как его использовать. Некоторые решения имеют быстрый старт с авторизацией и т. Д. –

+0

[this] (https://core.telegram.org/api/auth) - довольно хорошее объяснение того, как пройти аутентификацию, если вы знаете http-запросы с C#, это wouldn ' Трудно реализовать. –

+0

Согласен, но некоторые решения внедрили протокол для асинхронного запроса и поддерживают шифрование. –

13

TLSharp - это базовая реализация API Telegram на C#. См. Здесь https://github.com/sochix/TLSharp

+0

Я получил хэш API, зарегистрировавшись здесь (https://my.telegram.org/auth) .. однако выполнение выше кода не подтвердило, что ваш хэш не зарегистрирован. –

+0

Как получить сообщения по этой линии? Это тоже возможно? –

+0

Да, это возможно, если мы найдем вкладчика или кто-то пожертвует для этой функции. – SochiX

0

Для моего бота я использую пакет nuget Telegram.Bot. Полный образец кода - here.

Ниже приведен пример отправки сообщения в ответ на входящее сообщение.

// create bot instance 
var bot = new TelegramBotClient("YourApiToken"); 

// test your api configured correctly 
var me = await bot.GetMeAsync(); 
Console.WriteLine($"{me.Username} started"); 

// start listening for incoming messages 
while (true) 
{ 
    //get incoming messages 
    var updates = await bot.GetUpdatesAsync(offset); 
    foreach (var update in updates) 
    { 
     // send response to incoming message 
     await bot.SendTextMessageAsync(message.Chat.Id,"The Matrix has you..."); 
    } 
} 
Смежные вопросы