【问题标题】:Newline for caption in Telegram Bot Api Library (.Net)Telegram Bot Api 库 (.Net) 中标题的换行符
【发布时间】:2018-01-07 21:57:02
【问题描述】:

我在我的 Asp.Net 项目中使用 Telegram Bot Api Library (link)(版本 13.0.1.0)。

我使用 under code 将带有标题的图片发送到我的频道。

var sb = new StringBuilder();
sb.AppendLine("line1 ");
sb.AppendLine("line2 ");
sb.AppendLine("line3 ");

bot.SendPhotoAsync("@" + channel.Name, fileToSend, sb.ToString(), false, 0);

但我的问题是我的换行符没有显示在输出中

如何解决这个问题并在输出中正确显示新行?

[已解决]

这是这个库的错误,升级到 13.2.0 后问题解决了。

【问题讨论】:

  • 检查这个如果它有效让我知道:) StringBuilder sb = new StringBuilder(); sb.Append("line1"); sb.Append("line2"); sb.Append(Environment.NewLine); sb.Append("line3");字符串 s = sb.ToString();
  • 我测试过,不工作:(
  • @tashakori 为我工作,谢谢

标签: c# asp.net telegram-bot


【解决方案1】:

使用 '\n' 是可能的:

string a = "First Line \n Second Line \n Third Line";

【讨论】:

    【解决方案2】:

    使用 "\n" 和 HttpUtility.UrlEncode(YourText) 如果您想将 (hastag #) 放在文本或标题中,这是将文本作为文本或标题发送的最佳方式

        string TextCaption = "First Line \n Second Line \n Third Line \n....";
        bot.SendPhotoAsync("@" + channel.Name, fileToSend, HttpUtility.UrlEncode(TextCaption ), false, 0);
    

    【讨论】:

      【解决方案3】:

      在使用 .SendTextMessageAsync() 时不会;

      但是 OP 使用 StringBuilder() 和 .appendLine() 的原始解决方案对我来说非常有效。非常感谢......长期以来一直在寻找类似的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-07
        • 2019-05-30
        • 2018-12-19
        • 2021-11-26
        • 2016-03-14
        • 1970-01-01
        • 2017-02-17
        • 1970-01-01
        相关资源
        最近更新 更多