我找不到通过 C# 电报协议发送消息的示例。我尝试使用它但失败了。你能给我一些例子吗?
问问题
32669 次
6 回答
14
TLSharp 是 C# 上 Telegram API 的基本实现。在这里查看https://github.com/sochix/TLSharp
于 2015-04-10T13:46:16.200 回答
2
对于我的机器人,我使用Telegram.Bot nuget 包。完整的示例代码在这里。
这是发送消息以回复传入消息的示例。
// 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...");
}
}
于 2018-01-06T22:36:09.430 回答
2
您可以使用WTelegramClient库连接到 Telegram Client API 协议(作为用户,而不是机器人)
该库非常完整,但也非常易于使用。按照GitHub 上的 README进行简单介绍。
向某人发送消息可以很简单:
using TL;
using var client = new WTelegram.Client(); // or Client(Environment.GetEnvironmentVariable)
await client.LoginUserIfNeeded();
var result = await client.Contacts_ResolveUsername("USERNAME");
await client.SendMessageAsync(result.User, "Hello");
//or by phone number:
//var result = await client.Contacts_ImportContacts(new[] { new InputPhoneContact { phone = "+PHONENUMBER" } });
//client.SendMessageAsync(result.users[result.imported[0].user_id], "Hello");
于 2021-10-15T03:50:52.640 回答
0
最简单的方法是将 http 请求作为 url 字符串直接发送到 Telegram BOT API,您甚至可以在浏览器中测试这些 url 字符串,请在此处查看我的另一个答案中的详细信息: https ://stackoverflow.com/a/57341990/ 11687179
于 2019-08-03T21:08:46.283 回答
0
第一步,您必须在 botfather 中生成一个机器人,然后在 C# 中使用下面的代码
private void SendMessage(string msg)
{
string url = "https://api.telegram.org/{botid}:{botkey}/sendMessage?chat_id={@ChanalName}&text={0}";
WebClient Client = new WebClient();
/// If you need to use proxy
if (Program.UseProxy)
{
/// proxy elements are variable in Program.cs
Client.Proxy = new WebProxy(Program.ProxyUrl, Program.ProxyPort);
Client.Proxy.Credentials = new NetworkCredential("hjolany", "klojorasic");
}
Client.DownloadString(string.Format(url, msg));
}));
}
于 2020-07-16T13:49:21.860 回答
-1
Telegram 有一个官方 API,可以完全满足您的需求,但您必须查看 http 请求。
以下是发送消息的文档:
功能
messages.sendMessage
参数
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
如需完整文档,请访问此处。
于 2015-03-31T08:38:11.480 回答