C#からTelegramにメッセージを送信します

TLSharpロック!

C#は多数のライブラリを備えた開発言語ですが、その中にはTelegram APIの単一の実用的な実装はありません。 私の小さなTLSharpライブラリの助けを借りてこの状況を修正したいと思います。 この記事には多くのコードと1匹の猫が含まれます。


詳細をすぐに指定し、Telegram Bot APIではなくTelegram APIを使用してメッセージを送信することを検討します。 違いは何ですか?
Telegram Bot APIはボットを作成するためのAPIであるため、より多くの制限があります。 たとえば、ユーザーがボットを追加するまで、ユーザーにメッセージを送信することはできません。 Telegram APIにはそのような制限はなく、すべての公式クライアントが使用します。

セッションを作成する


まず、ライブラリを初期化し、セッションリポジトリを作成します。
var store = new FileSessionStore(); var client = new TelegramClient(store, "session"); 

サーバーに接続します。
 client.Connect(); 

これでセッションを作成できます。 これを行うには、次のコードを実行します。
 var hash = await client.SendCodeRequest(phoneNumber); //     var code = "1234"; //     Telegram var user = await client.MakeAuth(phoneNumber, hash, code); //   

メソッドのパラメーターについて少し:



メッセージを送る


メッセージを送信するには、電話番号またはユーザー名で連絡先をインポートします。
 var userByPhoneId = await client.ImportContactByPhoneNumber("791812312323"); //     var userByUserNameId = await await client.ImportByUserName("userName"); //    

メッセージを送信しています。
 await client.SendMessage(userId, "Hello Habr!"); 

誰もが理解できるように、ライブラリインターフェイスをできる限りシンプルにしようとしました。
たとえば、猫と一緒に写真を送信するには、次のコードを実行するだけで十分です。
 var mediaFile = await client.UploadFile("cat.jpg", file); var res = await client.SendMediaMessage(userId, mediaFile); 

電報の猫

現時点では、ライブラリは最も必要なメソッドのみを実装しています。 ライブラリコードはまだ本番環境で使用する準備ができていないため、Nugetパッケージとして投稿しませんでした。 ライブラリをプロジェクトに追加するには、GitHubからソースを取得してコンパイルし、参照TLSharp.Core.dllを追加する必要があります。

ご清聴ありがとうございました。コミットでライブラリをサポートしていただければ幸いです。

GitHubリポジトリ: github.com/sochix/TLSharp

Source: https://habr.com/ru/post/J277079/


All Articles