Je souhaite utiliser l’API Telegram en C # pour envoyer un message simple à un numéro. J’ai trouvé des bibliothèques sur GitHub mais je ne peux pas les utiliser.

Quelqu’un peut-il donner un code simple? Puis-je simplement passer des appels HTTP ?

3

Voici le moyen le plus simple que j’ai trouvé jusqu’à présent. Je l’ai trouvé ici, grâce à Paolo Montalto https://medium.com/@xabaras/sending-a-message-to-a-telegram-channel-the-easy-way-eb0a0b32968

Après avoir créé un bot Telegram via BotFather et vos identifiants cibles via. ont reçu https://api.telegram.org/bot[YourApiToken]/getUpdates
Vous pouvez envoyer un message à vos identifiants en envoyant une requête HTTP GET à l’API Telegram BOT à l’aide de l’URL suivante https://api.telegram.org/bot[YourApiToken]/sendMessage?chat_id=[DestitationID]&text=[MESSAGE_TEXT]

Des détails sur un moyen simple de créer un bot et d’obtenir des identifiants peuvent être trouvés ici : https://programmingistheway.wordpress.com/2015/12/03/send-telegram-messages-from-c/

Vous pouvez même tester ces chaînes d’URL directement dans le navigateur. Voici une méthode simple que j’utilise en C # pour envoyer des messages sans dépendre d’une DLL liée à l’API de bot et d’une complication d’appel asynchrone :

using System.Net;
...
public string TelegramSendMessage(string apilToken, string destID, string text)
{
   string urlString = $"https://api.telegram.org/bot{apilToken}/sendMessage?chat_id={destID}&text={text}";

   WebClient webclient = new WebClient();

   return webclient.DownloadString(urlString);
}

3

utilisez ce code 🙂 avec https://github.com/sochix/TLSharp

 using TeleSharp.TL;
 using TLSharp;
 using TLSharp.Core;

 namespace TelegramSend
 {

    public partial class Form1 : Form
    {
      public Form1()
     {
         InitializeComponent();
     }


    TelegramClient client;

    private async void button1_Click(object sender, EventArgs e)
    {
        client = new TelegramClient(<your api_id>,  <your api_key>);
        await client.ConnectAsync();
    }

    string hash;

    private async void button2_Click(object sender, EventArgs e)
    {
        hash = await client.SendCodeRequestAsync(textBox1.Text);
        //var code = "<code_from_telegram>"; // you can change code in debugger


    }

    private async void button3_Click(object sender, EventArgs e)
    {
        var user = await client.MakeAuthAsync(textBox1.Text, hash, textBox2.Text);
    }

    private async void button4_Click(object sender, EventArgs e)
    {

        //get available contacts
        var result = await client.GetContactsAsync();

        //find recipient in contacts
        var user = result.users.lists
            .Where(x => x.GetType() == typeof(TLUser))
            .Cast<TLUser>()
            .Where(x => x.first_name == "ZRX");
        if (user.ToList().Count != 0)
        {
            foreach (var u in user)
            {
                if (u.phone.Contains("3965604"))
                {
                    //send message
                    await client.SendMessageAsync(new TLInputPeerUser() { user_id = u.id }, textBox3.Text);
                }
            }
        }

    }
 }}

3

1-d’abord une chaîne dans le télégramme (par exemple @mychanel)

2-Créez un bot Telegram (par exemple @myTestBot) et obtenez un jeton API pour l’étape suivante

3-Ajoutez @myTestBot à votre chaîne (@mychanel) en tant qu’utilisateur administrateur

4-Utilisez le code suivant pour envoyer le message :

   var bot = new TelegramBotClient("api_token_bot");
        var s = await bot.SendTextMessageAsync("@mychanel", "your_message");

3

Il y a maintenant WTelegramClient, en utilisant le dernier protocole API Telegram Client (connectez-vous en tant qu’utilisateur, pas en tant que bot).

La bibliothèque est très complète, mais aussi très simple d’utilisation. Suis ça LISEZ-MOI sur GitHub pour un démarrage facile.

Envoyer un message à quelqu’un peut être aussi simple que :

using TL;

using var client = new WTelegram.Client(); // or Client(Environment.GetEnvironmentVariable)
await client.LoginUserIfNeeded();
var result = await client.Contacts_ResolveUsername("USERNAME");
//or result= await client.Contacts_ImportContacts(new[] { new InputPhoneContact { phone = "+PHONENUMBER" } });
await client.SendMessageAsync(result.users[0], "Hello");

Jetez un œil et apprenez à faire une requête HTTP POST avec votre langue préférée.

Ensuite, la documentation vous dira comment utiliser l’API Telegram Bot :

6e

Pas la réponse que vous cherchez ? Parcourir les autres questions signalées