2015-03-31 22 views
10

Non riesco a trovare un esempio di invio di messaggio tramite protocollo telegramma da C#. Ho provato ad usare this ma non ci sono riuscito. Puoi darmi qualche esempio?Telegram C# esempio invia messaggio

+0

qual è il tuo problema? – Milad

+1

Primo messaggio dopo un anno di socio? Benvenuti a così. Se vuoi un aiuto, devi prima aiutare te stesso. [Cosa hai provato] (http://mattgemmell.com/what-have-you-tried/) finora? – aloisdg

risposta

-2

telegramma è un'API ufficiale che può fare esattamente quello che ti serve, si dovrà esaminare le richieste http però ..

Ecco la documentazione su l'invio di un messaggio:

Funzione

messages.sendMessage 

Parametri

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 

esempio Query

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

errori Return

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 

Per la documentazione completa vanno here.

+0

Vedo API ufficiale, ma non riesco a capire come usarlo. Alcune soluzioni hanno un avvio rapido con autorizzazione ed ecc. –

+0

[questo] (https://core.telegram.org/api/auth) è una buona spiegazione su come autenticarsi, se si conoscono le richieste http con C# questo non sarebbe essere davvero difficili da implementare –

+0

Concordo, ma alcune soluzioni hanno implementato il protocollo su richiesta asincrona e supporto crittografia. –

13

TLSharp è l'implementazione di base dell'API di Telegram su C#. Vedi qui https://github.com/sochix/TLSharp

+0

Ho ottenuto API hash registrandoti qui (https://my.telegram.org/auth) .. tuttavia l'esecuzione del codice precedente non è riuscita affermando che il tuo hash non è registrato. –

+0

Che ne dici di ricevere messaggi su quella linea? È possibile? –

+0

Sì, sarà possibile se abbiamo trovato un contributore o qualcuno dona per questa funzione – SochiX

0

Per il mio bot io uso il pacchetto nuget Telegram.Bot. Il codice di esempio completo è here.

Ecco un esempio di invio di un messaggio in risposta al messaggio in arrivo.

// 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..."); 
    } 
}