1636123620
Facebookメッセンジャーで自動化して便利なボットを作成できることは、面白くてクールなようです。このチュートリアルでは、PythonのFacebookメッセンジャーに接続して、さまざまなクールなことを実行する方法を説明します。
fbchatライブラリを使用します。これはブラウザをエミュレートすることで機能します。これは、まったく同じGET / POSTリクエストを実行し、FacebookをだましてWebサイトに正常にアクセスしていると思わせることを意味します。したがって、このAPIは公式ではなく、APIキーを必要としません。代わりに、Facebookアカウントのクレデンシャルが必要です。
まず、fbchatライブラリをインストールする必要があります:
pip3 install fbchat
今すぐ始めるために、空のpythonファイルを作るか、または対話型シェルまたはjupyterノートブックを開いて、一緒に従うのインポートを聞かせてfbchat:
from fbchat import Client
from fbchat.models import Message
最初にログインしましょう:
# facebook user credentials
username = "username.or.email"
password = "password"
# login
client = Client(username, password)
注:正しいFacebookのクレデンシャルを入力する必要があります。そうしないと、このチュートリアルに従って意味がありません。
これでクライアントオブジェクトができました。そこには多くの便利なメソッドがあります。dir()してみてください 。
たとえば、最近話をしたユーザーを取得しましょう。
# get 20 users you most recently talked to
users = client.fetchThreadList()
print(users)
これにより、スレッドのリストが作成されます。スレッドはユーザーまたはグループにすることができます。
親友を検索して、これらのユーザーについて取得できるすべての情報を取得しましょう。
# get the detailed informations about these users
detailed_users = [ list(client.fetchThreadInfo(user.uid).values())[0] for user in users ]
幸いなことに、スレッドオブジェクトには、ユーザーとそのスレッドの間のメッセージの数をカウントするmessage_count属性があり、次の属性で並べ替えることができます。
# sort by number of messages
sorted_detailed_users = sorted(detailed_users, key=lambda u: u.message_count, reverse=True)
これで、message_countでソートされた20人のユーザーのリストができました。次の方法で簡単に親友を見つけましょう。
# print the best friend!
best_friend = sorted_detailed_users[0]
print("Best friend:", best_friend.name, "with a message count of", best_friend.message_count)
メッセージを送信して、この友人を祝福しましょう。
# message the best friend!
client.send(Message(text=f"Congratulations {best_friend.name}, you are my best friend with {best_friend.message_count} messages!"),
thread_id=best_friend.uid)
メッセージを見てみましょう:
素晴らしいですよね?
話しかけたすべてのユーザーをメッセンジャーで取得したい場合は、次の方法で行うことができます。
# get all users you talked to in messenger in your account
all_users = client.fetchAllUsers()
print("You talked with a total of", len(all_users), "users!")
最後に、終了したら、必ずログアウトしてください。
# let's logout
client.logout()
ご覧のとおり、このライブラリで実行できる可能性は無限にあります。自動返信メッセージ、チャットボット、エコーボット、その他多くの優れた機能を作成できます。彼らの公式ドキュメントを確認してください。
Telegramボットの構築に関するチュートリアルもあります。ぜひ チェックしてください。
リンク: https://www.thepythoncode.com/article/make-bot-fbchat-python
1636123620
Facebookメッセンジャーで自動化して便利なボットを作成できることは、面白くてクールなようです。このチュートリアルでは、PythonのFacebookメッセンジャーに接続して、さまざまなクールなことを実行する方法を説明します。
fbchatライブラリを使用します。これはブラウザをエミュレートすることで機能します。これは、まったく同じGET / POSTリクエストを実行し、FacebookをだましてWebサイトに正常にアクセスしていると思わせることを意味します。したがって、このAPIは公式ではなく、APIキーを必要としません。代わりに、Facebookアカウントのクレデンシャルが必要です。
まず、fbchatライブラリをインストールする必要があります:
pip3 install fbchat
今すぐ始めるために、空のpythonファイルを作るか、または対話型シェルまたはjupyterノートブックを開いて、一緒に従うのインポートを聞かせてfbchat:
from fbchat import Client
from fbchat.models import Message
最初にログインしましょう:
# facebook user credentials
username = "username.or.email"
password = "password"
# login
client = Client(username, password)
注:正しいFacebookのクレデンシャルを入力する必要があります。そうしないと、このチュートリアルに従って意味がありません。
これでクライアントオブジェクトができました。そこには多くの便利なメソッドがあります。dir()してみてください 。
たとえば、最近話をしたユーザーを取得しましょう。
# get 20 users you most recently talked to
users = client.fetchThreadList()
print(users)
これにより、スレッドのリストが作成されます。スレッドはユーザーまたはグループにすることができます。
親友を検索して、これらのユーザーについて取得できるすべての情報を取得しましょう。
# get the detailed informations about these users
detailed_users = [ list(client.fetchThreadInfo(user.uid).values())[0] for user in users ]
幸いなことに、スレッドオブジェクトには、ユーザーとそのスレッドの間のメッセージの数をカウントするmessage_count属性があり、次の属性で並べ替えることができます。
# sort by number of messages
sorted_detailed_users = sorted(detailed_users, key=lambda u: u.message_count, reverse=True)
これで、message_countでソートされた20人のユーザーのリストができました。次の方法で簡単に親友を見つけましょう。
# print the best friend!
best_friend = sorted_detailed_users[0]
print("Best friend:", best_friend.name, "with a message count of", best_friend.message_count)
メッセージを送信して、この友人を祝福しましょう。
# message the best friend!
client.send(Message(text=f"Congratulations {best_friend.name}, you are my best friend with {best_friend.message_count} messages!"),
thread_id=best_friend.uid)
メッセージを見てみましょう:
素晴らしいですよね?
話しかけたすべてのユーザーをメッセンジャーで取得したい場合は、次の方法で行うことができます。
# get all users you talked to in messenger in your account
all_users = client.fetchAllUsers()
print("You talked with a total of", len(all_users), "users!")
最後に、終了したら、必ずログアウトしてください。
# let's logout
client.logout()
ご覧のとおり、このライブラリで実行できる可能性は無限にあります。自動返信メッセージ、チャットボット、エコーボット、その他多くの優れた機能を作成できます。彼らの公式ドキュメントを確認してください。
Telegramボットの構築に関するチュートリアルもあります。ぜひ チェックしてください。
リンク: https://www.thepythoncode.com/article/make-bot-fbchat-python