Je souhaite utiliser l'API Telegram en C # pour envoyer un message simple à un numéro. J'ai trouvé des lib sur GitHub mais je ne peux pas les utiliser.
Quelqu'un peut-il donner un code simple? Puis-je simplement faire des appels HTTP?
var bot = new Api("your api key here");
var t = await bot.SendTextMessage("@channelname or chat_id", "text message");
Vous pouvez maintenant passer un nom d'utilisateur de canal (au format @nom_utilisateur_du_channel) à la place de chat_id dans toutes les méthodes (et au lieu de from_chat_id dans forwardMessage). Pour que cela fonctionne, le bot doit être un administrateur dans la chaîne.
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);
}
}
}
}
}}
Bon article pour commencer: How-To: Envoyer des messages à Telegram de C #
TLSharp est l'implémentation de base de Telegram API on C #. Voir ici https://github.com/sochix/TLSharp
1-créer une chaîne dans un télégramme (par exemple @mychanel)
2-créer un bot télégramme (par exemple @myTestBot) et obtenir un jeton api pour l'étape suivante
3-ajoutez @myTestBot à votre chaîne (@mychanel) en tant qu'utilisateur administrateur
4-utiliser le code ci-dessous pour envoyer un message:
var bot = new TelegramBotClient("api_token_bot");
var s = await bot.SendTextMessageAsync("@mychanel", "your_message");
J'ai écrit une bibliothèque cliente pour accéder à l'API de Telegram bot et son code source est disponible dans le Github. Vous pouvez accéder au fichier Telebot.cs pour voir un exemple d'envoi d'un message à l'API de bot.
URL Github: github.com/mrtaikandi/Telebot
URL Nuget: nuget.org/packages/Telebot