[C#] Facebook Messenger を Webhook が必要ない API を使いたい

2022-07-06 (水)

公式ページ を見ると Webhook を使用して 1対1 自動応答をする Bot の作成を前提にしているように見えます。
Webhook なしで WebServer を用意せず、任意のグループチャットに対しても Messenger の自動化がしたいので調査しました。

結果

おそらく簡単には出来なそうでした。昔あった WebAPI やプラグイン開発なども廃止されたようです。
結果、ブラウザのオートメーション的な感じで対応するしか無さそうです。
こちらの Caprine というデスクトップアプリが参考になりました。

内容

公式 手動ログインフロー
https://developers.facebook.com/docs/facebook-login/guides/advanced/manual-flow

公式 Bot サンプル (Node.js)
https://github.com/fbsamples/messenger-platform-samples

Bot 開発の API 集 (Node.js, TypeScript)
https://github.com/bottenderjs/messaging-apis

今も動いている Desktop App (Electron, TypeScript)
sindresorhus/caprine: Elegant Facebook Messenger desktop app

C# ライブラリ (活発そうでしたが、今は動かない模様)

解析記事
Reverse engineering the Facebook Messenger API

以下メモです。
中身チェックしていませんが、最新 API に更新されておらず、非サポートな状態なライブラリが多そうな気がします。

言語最終PushForkStarURL
C#2021/11/91823kamarouski/messenger-client: Facebook Messenger .NET Client
Objective-C2017/7/312592.9krsms/fb-mac-messenger: ⚡️ Mac app wrapping Facebook’s Messenger for desktop
JavaScript2019/8/8100708Alex-Rose/fb-messenger-cli: fb-messenger-cli, console Facebook messenger
JavaScript2021/1/1972432mjkaufer/Messer: Command-line messaging for Facebook Messenger
Kotlin2020/11/131488ashar-7/JetMessenger: Facebook Messenger clone built with Jetpack Compose
Flutter2021/3/235290sopheamen007/app.mobile.facebook-messenger-app-ui
Flutter2019/10/223765flutterforsale/flutter-messenger-ui: Flutter Facebook Messenger UI
Flutter2019/4/301635follow2vivek/FlutterFacebookMessengeUI: Created Facebook messenger ui in Flutter.
Flutter2020/1/91849thanhnamitit/flutter-fake_messenger: Fake Facebook Messenger project in Flutter
Go2019/2/4886unixpickle/fbmsgr: Reverse engineering Facebook Messenger
C2020/12/10889aprilis/messenger: Unofficial Facebook Messenger app for elementary OS
2022-07-06 (水)