Update examples
Only `import fbchat`, and update to initialize Client using Session
This commit is contained in:
@@ -1,10 +1,19 @@
|
|||||||
from fbchat import Client
|
import fbchat
|
||||||
from fbchat.models import *
|
|
||||||
|
|
||||||
client = Client("<email>", "<password>")
|
# Log the user in
|
||||||
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
|
|
||||||
print("Own id: {}".format(client.uid))
|
print("Own id: {}".format(sesion.user_id))
|
||||||
|
|
||||||
client.send(Message(text="Hi me!"), thread_id=client.uid, thread_type=ThreadType.USER)
|
# Create helper client class
|
||||||
|
client = fbchat.Client(session)
|
||||||
|
|
||||||
client.logout()
|
# Send a message to yourself
|
||||||
|
client.send(
|
||||||
|
fbchat.Message(text="Hi me!"),
|
||||||
|
thread_id=session.user_id,
|
||||||
|
thread_type=fbchat.ThreadType.USER,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Log the user out
|
||||||
|
session.logout()
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
from fbchat import Client
|
import fbchat
|
||||||
|
|
||||||
# Subclass fbchat.Client and override required methods
|
# Subclass fbchat.Client and override required methods
|
||||||
class EchoBot(Client):
|
class EchoBot(fbchat.Client):
|
||||||
def on_message(self, author_id, message_object, thread_id, thread_type, **kwargs):
|
def on_message(self, author_id, message_object, thread_id, thread_type, **kwargs):
|
||||||
self.mark_as_delivered(thread_id, message_object.uid)
|
self.mark_as_delivered(thread_id, message_object.uid)
|
||||||
self.mark_as_read(thread_id)
|
self.mark_as_read(thread_id)
|
||||||
@@ -13,5 +13,7 @@ class EchoBot(Client):
|
|||||||
self.send(message_object, thread_id=thread_id, thread_type=thread_type)
|
self.send(message_object, thread_id=thread_id, thread_type=thread_type)
|
||||||
|
|
||||||
|
|
||||||
client = EchoBot("<email>", "<password>")
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
client.listen()
|
|
||||||
|
echo_bot = EchoBot(session)
|
||||||
|
echo_bot.listen()
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
from itertools import islice
|
import itertools
|
||||||
from fbchat import Client
|
import fbchat
|
||||||
from fbchat.models import *
|
|
||||||
|
|
||||||
client = Client("<email>", "<password>")
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
|
|
||||||
|
client = fbchat.Client(session)
|
||||||
|
|
||||||
# Fetches a list of all users you're currently chatting with, as `User` objects
|
# Fetches a list of all users you're currently chatting with, as `User` objects
|
||||||
users = client.fetch_all_users()
|
users = client.fetch_all_users()
|
||||||
@@ -65,5 +66,5 @@ print("thread's type: {}".format(thread.type))
|
|||||||
|
|
||||||
# Print image url for 20 last images from thread.
|
# Print image url for 20 last images from thread.
|
||||||
images = client.fetch_thread_images("<thread id>")
|
images = client.fetch_thread_images("<thread id>")
|
||||||
for image in islice(image, 20):
|
for image in itertools.islice(image, 20):
|
||||||
print(image.large_preview_url)
|
print(image.large_preview_url)
|
||||||
|
@@ -1,37 +1,43 @@
|
|||||||
from fbchat import Client
|
import fbchat
|
||||||
from fbchat.models import *
|
|
||||||
|
|
||||||
client = Client("<email>", "<password>")
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
|
|
||||||
|
client = fbchat.Client(session)
|
||||||
|
|
||||||
thread_id = "1234567890"
|
thread_id = "1234567890"
|
||||||
thread_type = ThreadType.GROUP
|
thread_type = fbchat.ThreadType.GROUP
|
||||||
|
|
||||||
# Will send a message to the thread
|
# Will send a message to the thread
|
||||||
client.send(Message(text="<message>"), thread_id=thread_id, thread_type=thread_type)
|
client.send(
|
||||||
|
fbchat.Message(text="<message>"), thread_id=thread_id, thread_type=thread_type
|
||||||
|
)
|
||||||
|
|
||||||
# Will send the default `like` emoji
|
# Will send the default `like` emoji
|
||||||
client.send(
|
client.send(
|
||||||
Message(emoji_size=EmojiSize.LARGE), thread_id=thread_id, thread_type=thread_type
|
fbchat.Message(emoji_size=fbchat.EmojiSize.LARGE),
|
||||||
|
thread_id=thread_id,
|
||||||
|
thread_type=thread_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Will send the emoji `👍`
|
# Will send the emoji `👍`
|
||||||
client.send(
|
client.send(
|
||||||
Message(text="👍", emoji_size=EmojiSize.LARGE),
|
fbchat.Message(text="👍", emoji_size=fbchat.EmojiSize.LARGE),
|
||||||
thread_id=thread_id,
|
thread_id=thread_id,
|
||||||
thread_type=thread_type,
|
thread_type=thread_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Will send the sticker with ID `767334476626295`
|
# Will send the sticker with ID `767334476626295`
|
||||||
client.send(
|
client.send(
|
||||||
Message(sticker=Sticker("767334476626295")),
|
fbchat.Message(sticker=fbchat.Sticker("767334476626295")),
|
||||||
thread_id=thread_id,
|
thread_id=thread_id,
|
||||||
thread_type=thread_type,
|
thread_type=thread_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Will send a message with a mention
|
# Will send a message with a mention
|
||||||
client.send(
|
client.send(
|
||||||
Message(
|
fbchat.Message(
|
||||||
text="This is a @mention", mentions=[Mention(thread_id, offset=10, length=8)]
|
text="This is a @mention",
|
||||||
|
mentions=[fbchat.Mention(thread_id, offset=10, length=8)],
|
||||||
),
|
),
|
||||||
thread_id=thread_id,
|
thread_id=thread_id,
|
||||||
thread_type=thread_type,
|
thread_type=thread_type,
|
||||||
@@ -40,7 +46,7 @@ client.send(
|
|||||||
# Will send the image located at `<image path>`
|
# Will send the image located at `<image path>`
|
||||||
client.send_local_image(
|
client.send_local_image(
|
||||||
"<image path>",
|
"<image path>",
|
||||||
message=Message(text="This is a local image"),
|
message=fbchat.Message(text="This is a local image"),
|
||||||
thread_id=thread_id,
|
thread_id=thread_id,
|
||||||
thread_type=thread_type,
|
thread_type=thread_type,
|
||||||
)
|
)
|
||||||
@@ -48,14 +54,14 @@ client.send_local_image(
|
|||||||
# Will download the image at the URL `<image url>`, and then send it
|
# Will download the image at the URL `<image url>`, and then send it
|
||||||
client.send_remote_image(
|
client.send_remote_image(
|
||||||
"<image url>",
|
"<image url>",
|
||||||
message=Message(text="This is a remote image"),
|
message=fbchat.Message(text="This is a remote image"),
|
||||||
thread_id=thread_id,
|
thread_id=thread_id,
|
||||||
thread_type=thread_type,
|
thread_type=thread_type,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
# Only do these actions if the thread is a group
|
# Only do these actions if the thread is a group
|
||||||
if thread_type == ThreadType.GROUP:
|
if thread_type == fbchat.ThreadType.GROUP:
|
||||||
# Will remove the user with ID `<user id>` from the thread
|
# Will remove the user with ID `<user id>` from the thread
|
||||||
client.remove_user_from_group("<user id>", thread_id=thread_id)
|
client.remove_user_from_group("<user id>", thread_id=thread_id)
|
||||||
|
|
||||||
@@ -78,14 +84,14 @@ client.change_thread_title("<title>", thread_id=thread_id, thread_type=thread_ty
|
|||||||
|
|
||||||
# Will set the typing status of the thread to `TYPING`
|
# Will set the typing status of the thread to `TYPING`
|
||||||
client.set_typing_status(
|
client.set_typing_status(
|
||||||
TypingStatus.TYPING, thread_id=thread_id, thread_type=thread_type
|
fbchat.TypingStatus.TYPING, thread_id=thread_id, thread_type=thread_type
|
||||||
)
|
)
|
||||||
|
|
||||||
# Will change the thread color to `MESSENGER_BLUE`
|
# Will change the thread color to `MESSENGER_BLUE`
|
||||||
client.change_thread_color(ThreadColor.MESSENGER_BLUE, thread_id=thread_id)
|
client.change_thread_color(fbchat.ThreadColor.MESSENGER_BLUE, thread_id=thread_id)
|
||||||
|
|
||||||
# Will change the thread emoji to `👍`
|
# Will change the thread emoji to `👍`
|
||||||
client.change_thread_emoji("👍", thread_id=thread_id)
|
client.change_thread_emoji("👍", thread_id=thread_id)
|
||||||
|
|
||||||
# Will react to a message with a 😍 emoji
|
# Will react to a message with a 😍 emoji
|
||||||
client.react_to_message("<message id>", MessageReaction.LOVE)
|
client.react_to_message("<message id>", fbchat.MessageReaction.LOVE)
|
||||||
|
@@ -1,11 +1,10 @@
|
|||||||
from fbchat import Client
|
import fbchat
|
||||||
from fbchat.models import *
|
|
||||||
|
|
||||||
# Change this to your group id
|
# Change this to your group id
|
||||||
old_thread_id = "1234567890"
|
old_thread_id = "1234567890"
|
||||||
|
|
||||||
# Change these to match your liking
|
# Change these to match your liking
|
||||||
old_color = ThreadColor.MESSENGER_BLUE
|
old_color = fbchat.ThreadColor.MESSENGER_BLUE
|
||||||
old_emoji = "👍"
|
old_emoji = "👍"
|
||||||
old_title = "Old group chat name"
|
old_title = "Old group chat name"
|
||||||
old_nicknames = {
|
old_nicknames = {
|
||||||
@@ -16,7 +15,7 @@ old_nicknames = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class KeepBot(Client):
|
class KeepBot(fbchat.Client):
|
||||||
def on_color_change(self, author_id, new_color, thread_id, thread_type, **kwargs):
|
def on_color_change(self, author_id, new_color, thread_id, thread_type, **kwargs):
|
||||||
if old_thread_id == thread_id and old_color != new_color:
|
if old_thread_id == thread_id and old_color != new_color:
|
||||||
print(
|
print(
|
||||||
@@ -77,5 +76,7 @@ class KeepBot(Client):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
client = KeepBot("<email>", "<password>")
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
client.listen()
|
|
||||||
|
keep_bot = KeepBot(session)
|
||||||
|
keep_bot.listen()
|
||||||
|
@@ -1,11 +1,13 @@
|
|||||||
from fbchat import Client
|
import fbchat
|
||||||
from fbchat.models import *
|
|
||||||
|
|
||||||
|
|
||||||
class RemoveBot(Client):
|
class RemoveBot(fbchat.Client):
|
||||||
def on_message(self, author_id, message_object, thread_id, thread_type, **kwargs):
|
def on_message(self, author_id, message_object, thread_id, thread_type, **kwargs):
|
||||||
# We can only kick people from group chats, so no need to try if it's a user chat
|
# We can only kick people from group chats, so no need to try if it's a user chat
|
||||||
if message_object.text == "Remove me!" and thread_type == ThreadType.GROUP:
|
if (
|
||||||
|
message_object.text == "Remove me!"
|
||||||
|
and thread_type == fbchat.ThreadType.GROUP
|
||||||
|
):
|
||||||
print("{} will be removed from {}".format(author_id, thread_id))
|
print("{} will be removed from {}".format(author_id, thread_id))
|
||||||
self.remove_user_from_group(author_id, thread_id=thread_id)
|
self.remove_user_from_group(author_id, thread_id=thread_id)
|
||||||
else:
|
else:
|
||||||
@@ -19,5 +21,7 @@ class RemoveBot(Client):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
client = RemoveBot("<email>", "<password>")
|
session = fbchat.Session.login("<email>", "<password>")
|
||||||
client.listen()
|
|
||||||
|
remove_bot = RemoveBot(session)
|
||||||
|
remove_bot.listen()
|
||||||
|
Reference in New Issue
Block a user