2017-09-07 3 views
0

テレグラフボットのASP.NET C#を使用して、キャプション付きの送信用のAPIを1つ作成しました。そして、私は< a/>というタグをつけてキャプションにリンクを送っています。しかし私はStringBuilderを使って電報ボットで同じ行全体を印刷しようとしました。どうすればそれができるのか分かりません。誰がコード内のどこに問題があるのか​​知っていますか?StringBuilderをテレグラムボットでC#で使用する方法は?

ここでは、これは私のAPIである:ここでは

[System.Web.Http.AcceptVerbs("POST")] 
public void SendCasesOnTelegramBot() 
{    
    try 
    { 
     DataSet ds = DataAccess.ExecuteDataset(Setting.ConnectionString(), "GetPostForTelegramBot"); 
     if (ds != null && ds.Tables.Count > 0) 
     { 
      if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) 
      { 
       var Image = ds.Tables[0].Rows[0]["Url"].ToString(); 
       byte[] imageData = null; 
       WebClient webClient = new WebClient(); 
       imageData = webClient.DownloadData(Image); 
       MemoryStream ms = new MemoryStream(imageData); 
       var sb = new StringBuilder(); 
       sb.Append("<a href='https://t.me/abc'>abc</a>"); // this is my tag.i want to juts print abc in the caption and i am click on abc work like link.      
       sb.Append(Environment.NewLine); 
       sb.Append("."); 
       sb.Append(Environment.NewLine); 
       sb.Append("."); 
       sb.Append(Environment.NewLine);     
       Bot.SendPhotoAsync("@abc", new FileToSend(ds.Tables[0].Rows[0]["Url"].ToString(), ms), sb.ToString());      
      } 
     } 
    } 
    catch (Exception ex) 
    {     
    } 
} 

これは私が送った電報ボットに私の画像です:

enter image description here

は、私は同じ行を印刷していた画像に表示されますが、私ドンそれはこのようにしたい。私はちょうど "abc"を印刷し、リンクのようなabcの仕事をクリックします。私を助けて、いくつか考えてください。

+0

からparseMode設定して、その後のmessageを送信する必要があります(このアクションを 'async'としてください)。もう一度あなたのデータセットを掘り下げるのではなく、 'Image'変数を呼び出しの中で再利用します。 –

+0

しかし、私の質問はキャプションに設定されているリンクにありますので、私にそのことについてのヒントを教えてください。 – Edit

+0

あなたの質問でお手伝いできないので、私はコメントを追加しました。しかし、私はあなたに必要と思われるプログラミングの一般的な良い練習をいくつかのアドバイスを与えることができます。 –

答えて

1

sendPhotoを呼び出すと、ボットAPIがHTMLタグを認識しないように見えます。あなたはマークアップを使用したい場合は、あなたの `Bot.SendPhotoAsyncは()`メソッドは `async`で、あなたは`それをawait`なければならない場合は、「HTML

+0

あなたは最初の写真を送ってから、その後にparseModeでメッセージを送ってほしいと言っていますか? – Edit

+0

マークアップのないURLを送信しても大丈夫です。 [API Documentation](https://core.telegram.org/bots/api)を確認してください。それはあなたに限界についての詳細を与えるべきです。 –

+0

お返事ありがとうございます。それについて私にいくつかのアイデアを与えてください。他の方法では、どうすればできるのかを調べるだけで時間を費やします。しかしもう一度ありがとうmucj – Edit

関連する問題