因為最近在開發跟 Telegram 的東西,接下來要筆記兩個項目,一個是如何發送圖片,還有一個就是
如何在 Telegram 中對發出的訊息做 pinned (釘成公告)
1. 你得先跟 BotFather 建立一個機器人,並且跟拿到 TOKEN ,可以參考這裡 https://sendpulse.com/knowledge-base/chatbot/telegram/create-telegram-chatbot
2. 安裝 Telegram.Bot v22.4
3. 參考我這篇文章 Telegram Bot
開發筆記:如何在 v22.4.4 正確接收訊息 ,對於 Telegram 簡單的收發訊息要有簡單的了解
4. 其中我修改程式碼一部分在 OnMessage 的時候,如果是 /公告: 開頭的 我就會把 "/公告:" 後面的文字 pin 成公告
如果是其他指令,我就傳一張圖片上去
private static Task _TelegramBotClient_OnMessage(Telegram.Bot.Types.Message message, Telegram.Bot.Types.Enums.UpdateType type)
{
if (message.Text==null)
{
return Task.FromResult(null);
}
if (message.Text.ToLower().StartsWith("/"))
{
if (message.Text.ToLower().StartsWith("/公告:"))
{
var messageId = _TelegramBotClient.SendMessage(message.Chat, message.Text.Replace("/公告:", "")).Result.Id;
_TelegramBotClient.PinChatMessage(message.Chat, messageId);
}
else {
Stream stream = File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "oooo.jpg");
var res = _TelegramBotClient.SendPhoto(message.Chat, Telegram.Bot.Types.InputFile.FromStream(stream));
}
//command handing.
}
else
{
Console.WriteLine($"純文字:" + message.Text);
_TelegramBotClient.SendMessage(message.Chat, $"Echo: Your Text is {message.Text}", replyMarkup: new ReplyKeyboardRemove());
}
return Task.FromResult(null);
}
Result:
--
Before you read this, the article was in a superposition of human and AI. Upon observation, the wave function collapsed into a sleep-deprived developer.
如果這篇文章有幫助到您幫我分享一下,讓我有寫下去的動力...