2015-03-31 57 views
10

我找不到從C#通過電報協議發送消息的示例。我試圖使用this但失敗。 你能舉幾個例子嗎?電報C#示例發送消息

+0

你的問題是什麼? – Milad 2015-03-31 08:30:24

+1

一年後的第一封信?歡迎來到SO。如果你想得到一些幫助,你必須先幫助自己。 [你有什麼嘗試](http://mattgemmell.com/what-have-you-tried/)到目前爲止? – aloisdg 2015-03-31 08:32:15

回答

-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,但我無法理解如何使用它。有些解決方案可以快速開始授權等。 – 2015-03-31 08:45:47

+0

[this](https://core.telegram.org/api/auth)對於如何進行身份驗證是一個很好的解釋,如果你知道http請求與C#這wouldn'實際上很難實現。 – 2015-03-31 08:58:02

+0

我同意,但一些解決方案已實施異步請求和支持加密協議。 – 2015-03-31 09:05:19

13

TLSharp是C#上Telegram API的基本實現。在這裏看到https://github.com/sochix/TLSharp

+0

我通過在這裏註冊獲得API哈希(https://my.telegram.org/auth)..但是執行上面的代碼失敗,說明你的哈希沒有註冊。 – 2015-07-10 15:54:12

+0

如何通過該行接收消息?這可能嗎? – 2015-09-29 05:25:07

+0

是的,如果我們發現貢獻者或某人爲此功能捐贈,將有可能 – SochiX 2015-09-30 07:22:14

0

對於我的機器人,我使用Telegram.Bot nuget包。完整的示例代碼是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..."); 
    } 
}