web-dev-qa-db-ja.com

ユーザーがチャネルに参加したときのテレグラムボットイベント

電報ボットを作成したら、このボットにアクセスして管理します。ユーザーがこのチャンネルに参加したときにチャンネルメンバーリストまたはイベントを取得する方法

13
Ali Mohammadi

現在の回答にはかなりがっかりしているので、 Telegram API 自体、および使用しているフレームワークでこれを行う方法を説明する最新の回答(2018年2月現在)を残しておきます。 ノードのテレグラフ

Telegram APIは非常に強力であり、APIに関しては非常にシンプルです。更新を取得するポーリング方法を使用していて、他の問題全体であるWebSocketを使用していない場合、グループまたはチャネルに新しい誰かが追加されているかどうかを確認するのは非常に簡単です。

APIメソッドgetUpdatesUpdateオブジェクトの配列を返します。これには、送信されたメッセージ、インラインクエリ、新しいチャットメンバーなど、必要なすべての情報が含まれています。新しいチャットメンバーを取得するには、新しいユーザーの配列を含むupdate.message.new_chat_membersにアクセスするだけです。参考として、APIドキュメント here を参照してください。

ブラウザーまたはcurlを使用して更新オブジェクトをフェッチするには、GETまたはPOSTリクエストを https://api.telegram.org/botYOUR-に送信するだけです。 BOT-TOKEN/getUpdates 。次に、messages->new_chat_membersを探します。

NodeJでTelegrafボットフレームワークを使用している場合は、bot.onメソッドをイベントnew_chat_membersで使用できます。

例:

bot.on('new_chat_members', (ctx) => console.log(ctx.message.new_chat_members))

これは少し前に尋ねられたことは知っていますが、他の人が検索するのに役立つことを願っています。

13
watzon
  1. 電報でロボットを作成する
  2. ロボットがボットファーザーを介してグループに参加することを許可する
  3. グループ/チャネルにロボットを追加して管理者に昇格
  4. この住所を使う: https://api.telegram.org/bot< botapitoken >/getChatMember?chat_id=<@channelusername>&user_id=< user_id >
4
Hadid Graphics

docs から:

new_chat_membersgroupまたはsupergroupに追加された新しいメンバーと、それら(ボット自体がこれらのメンバーの1つである可能性があります)

だから私はできないと思います。