Как использовать Telegram API в С# для отправки сообщения
Я хочу использовать Telegram API в С# для отправки простого сообщения на номер. Я нашел несколько lib на GitHub, но я не могу их использовать.
Может кто-нибудь дать простой код? Могу ли я просто делать HTTP-вызовы?
Ответы
Ответ 1
- Установить пакет Telegram.Bot
- Создайте бота с помощью botfather
- получить ключ api с помощью команды /token (все еще в botfather)
- используйте этот код:
var bot = new Api("your api key here");
var t = await bot.SendTextMessage("@channelname or chat_id", "text message");
Теперь вы можете передать имя пользователя канала (в формате @channelusername) вместо chat_id во всех методах (и вместо from_chat_id в переслать сообщение). Чтобы это сработало, бот должен быть администратором в канал.
https://core.telegram.org/bots/api
Ответ 2
используйте этот код:)
с 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
Хорошая статья для начала: How-To: отправить сообщения Telegram с С#
TLSharp - это базовая реализация Telegram API на С#. См. Здесь https://github.com/sochix/TLSharp
Ответ 4
Я написал клиентскую библиотеку для доступа к API-интерфейсу Telegram и его исходный код доступен в Github. Вы можете просмотреть файл Telebot.cs, чтобы увидеть пример отправки сообщения в API-интерфейс бота.
Github URL: github.com/mrtaikandi/Telebot
URL-адрес Nuget: nuget.org/packages/Telebot
Ответ 5
1 - сначала создайте канал в телеграмме (например, @mychanel)
2 - создайте бот телеграммы (например, @myTestBot) и получите токен api для следующего шага
3-add @myTestBot на ваш канал (@mychanel) в качестве пользователя-администратора
4-используйте ниже код для отправки сообщения:
var bot = new TelegramBotClient("api_token_bot");
var s = await bot.SendTextMessageAsync("@mychanel", "your_message");
Ответ 6
Посмотрите и узнайте, как сделать запрос POST HTTP с вашим любимым языком.
Затем узнайте, как использовать Telegram Bot API с документацией: