发送照片电报API

本文关键字:API 照片 | 更新日期: 2023-09-27 18:10:16

我想用Telegram发送一张照片。Bot库,但它不工作!

下面是我的代码:
private void btnSendImage_Click(object sender, RoutedEventArgs e)
    {
        var Bot = new Telegram.Bot.Api(token);
        Task<Telegram.Bot.Types.Update[]> res = Bot.GetUpdates();
        List<string> users = GetIds();
        foreach (var update in res.Result)
        {
            if (!users.Contains("" + update.Message.Chat.Id))
            {
                AddId("" + update.Message.Chat.Id);
            }
        }
        users = GetIds();
        foreach (var item in users)
        {
            if (item.Length > 0)
            {
                var rep = Bot.SendPhoto(Convert.ToInt32(item), txtImagePath.Text, txtMessage.Text);
            }
        }
    }

txtImagePath.text= "D:'Projects'Telegram Bot'Telegram Bot'bin'Debug'4.jpg";

我用Bot.SendMessage测试了它,它工作得很好,但我不能发送照片!

发送照片电报API

我使用了这段代码,它工作了!

var FileUrl = @"C:''Users''User''Documents''20160201_204055.jpg";
using (var stream = System.IO.File.Open(FileUrl, FileMode.Open))
        {
            FileToSend fts = new FileToSend();
            fts.Content = stream;
            fts.Filename = FileUrl.Split('''').Last();
            var test = await bot.SendPhoto("@channel Name or chat_id", fts, "My Text");
        }

如果你想发送一个新的图像,你需要传递一个Stream给函数。

using (var stream = File.Open(txtImagePath.Text, FileMode.Open))
{
    var rep = await Bot.SendPhoto(Convert.ToInt32(item), stream, txtMessage.Text);
}