web-dev-qa-db-ja.com

python-telegram-botでグループのすべての参加者を取得するにはどうすればよいですか?

Python-telegram-bot 取得方法、可能であれば、グループのすべての参加者の完全なリストボットが追加されましたか?

13
Thomas8

現在のAPIではできませんが、APIを介してユーザーメンバーの参加/終了を行うことができます。

Message オブジェクトを確認すると、次のようになります。

  • new_chat_participant:新しいメンバーがグループに追加されました。それらに関する情報(このメンバーはボット自体である場合があります)
  • left_chat_participant:メンバーがグループから削除されました、それらに関する情報(このメンバーはボット自体である可能性があります)

したがって、この2つの情報を使用して、チャットに参加しているユーザーの総数とそのユーザーを追跡できます。

基本的な戦略は、グループのユーザーの参加と退出の発生を(データベースのような)どこかに保存することです。

ユーザーがチャットに参加すると、オブジェクトUserがストレージに保存されます。ユーザーがチャットを終了したら、オブジェクトUserをストレージから削除します。

それでは、必要に応じてロジックを実行してください。

13
unnikked

また、最新のAPIアップデートにより、次のことが可能になります。

  • telegram.getChatMembersCount(chat_id):このメソッドを使用して、チャットのメンバー数を取得します。

  • telegram.getChatMember(chat_id、user_id):このメソッドを使用して、チャットのメンバーに関する情報を取得します。

new_chat_participantおよびleft_chat_participant戦略と組み合わせて、グループに関する情報を構築できます。

詳細はこちら:

12
Leandro Toledo