Format using black
(without string normalization)
This commit is contained in:
@@ -14,5 +14,6 @@ class EchoBot(Client):
|
||||
if author_id != self.uid:
|
||||
self.send(message_object, thread_id=thread_id, thread_type=thread_type)
|
||||
|
||||
|
||||
client = EchoBot("<email>", "<password>")
|
||||
client.listen()
|
||||
|
@@ -12,22 +12,48 @@ thread_type = ThreadType.GROUP
|
||||
client.send(Message(text='<message>'), thread_id=thread_id, thread_type=thread_type)
|
||||
|
||||
# Will send the default `like` emoji
|
||||
client.send(Message(emoji_size=EmojiSize.LARGE), thread_id=thread_id, thread_type=thread_type)
|
||||
client.send(
|
||||
Message(emoji_size=EmojiSize.LARGE), thread_id=thread_id, thread_type=thread_type
|
||||
)
|
||||
|
||||
# Will send the emoji `👍`
|
||||
client.send(Message(text='👍', emoji_size=EmojiSize.LARGE), thread_id=thread_id, thread_type=thread_type)
|
||||
client.send(
|
||||
Message(text='👍', emoji_size=EmojiSize.LARGE),
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
# Will send the sticker with ID `767334476626295`
|
||||
client.send(Message(sticker=Sticker('767334476626295')), thread_id=thread_id, thread_type=thread_type)
|
||||
client.send(
|
||||
Message(sticker=Sticker('767334476626295')),
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
# Will send a message with a mention
|
||||
client.send(Message(text='This is a @mention', mentions=[Mention(thread_id, offset=10, length=8)]), thread_id=thread_id, thread_type=thread_type)
|
||||
client.send(
|
||||
Message(
|
||||
text='This is a @mention', mentions=[Mention(thread_id, offset=10, length=8)]
|
||||
),
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
# Will send the image located at `<image path>`
|
||||
client.sendLocalImage('<image path>', message=Message(text='This is a local image'), thread_id=thread_id, thread_type=thread_type)
|
||||
client.sendLocalImage(
|
||||
'<image path>',
|
||||
message=Message(text='This is a local image'),
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
# Will download the image at the url `<image url>`, and then send it
|
||||
client.sendRemoteImage('<image url>', message=Message(text='This is a remote image'), thread_id=thread_id, thread_type=thread_type)
|
||||
client.sendRemoteImage(
|
||||
'<image url>',
|
||||
message=Message(text='This is a remote image'),
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
|
||||
# Only do these actions if the thread is a group
|
||||
@@ -39,17 +65,23 @@ if thread_type == ThreadType.GROUP:
|
||||
client.addUsersToGroup('<user id>', thread_id=thread_id)
|
||||
|
||||
# Will add the users with IDs `<1st user id>`, `<2nd user id>` and `<3th user id>` to the thread
|
||||
client.addUsersToGroup(['<1st user id>', '<2nd user id>', '<3rd user id>'], thread_id=thread_id)
|
||||
client.addUsersToGroup(
|
||||
['<1st user id>', '<2nd user id>', '<3rd user id>'], thread_id=thread_id
|
||||
)
|
||||
|
||||
|
||||
# Will change the nickname of the user `<user_id>` to `<new nickname>`
|
||||
client.changeNickname('<new nickname>', '<user id>', thread_id=thread_id, thread_type=thread_type)
|
||||
client.changeNickname(
|
||||
'<new nickname>', '<user id>', thread_id=thread_id, thread_type=thread_type
|
||||
)
|
||||
|
||||
# Will change the title of the thread to `<title>`
|
||||
client.changeThreadTitle('<title>', thread_id=thread_id, thread_type=thread_type)
|
||||
|
||||
# Will set the typing status of the thread to `TYPING`
|
||||
client.setTypingStatus(TypingStatus.TYPING, thread_id=thread_id, thread_type=thread_type)
|
||||
client.setTypingStatus(
|
||||
TypingStatus.TYPING, thread_id=thread_id, thread_type=thread_type
|
||||
)
|
||||
|
||||
# Will change the thread color to `MESSENGER_BLUE`
|
||||
client.changeThreadColor(ThreadColor.MESSENGER_BLUE, thread_id=thread_id)
|
||||
|
@@ -14,18 +14,23 @@ old_nicknames = {
|
||||
'12345678901': "User nr. 1's nickname",
|
||||
'12345678902': "User nr. 2's nickname",
|
||||
'12345678903': "User nr. 3's nickname",
|
||||
'12345678904': "User nr. 4's nickname"
|
||||
'12345678904': "User nr. 4's nickname",
|
||||
}
|
||||
|
||||
|
||||
class KeepBot(Client):
|
||||
def onColorChange(self, author_id, new_color, thread_id, thread_type, **kwargs):
|
||||
if old_thread_id == thread_id and old_color != new_color:
|
||||
log.info("{} changed the thread color. It will be changed back".format(author_id))
|
||||
log.info(
|
||||
"{} changed the thread color. It will be changed back".format(author_id)
|
||||
)
|
||||
self.changeThreadColor(old_color, thread_id=thread_id)
|
||||
|
||||
def onEmojiChange(self, author_id, new_emoji, thread_id, thread_type, **kwargs):
|
||||
if old_thread_id == thread_id and new_emoji != old_emoji:
|
||||
log.info("{} changed the thread emoji. It will be changed back".format(author_id))
|
||||
log.info(
|
||||
"{} changed the thread emoji. It will be changed back".format(author_id)
|
||||
)
|
||||
self.changeThreadEmoji(old_emoji, thread_id=thread_id)
|
||||
|
||||
def onPeopleAdded(self, added_ids, author_id, thread_id, **kwargs):
|
||||
@@ -36,19 +41,43 @@ class KeepBot(Client):
|
||||
|
||||
def onPersonRemoved(self, removed_id, author_id, thread_id, **kwargs):
|
||||
# No point in trying to add ourself
|
||||
if old_thread_id == thread_id and removed_id != self.uid and author_id != self.uid:
|
||||
if (
|
||||
old_thread_id == thread_id
|
||||
and removed_id != self.uid
|
||||
and author_id != self.uid
|
||||
):
|
||||
log.info("{} got removed. They will be re-added".format(removed_id))
|
||||
self.addUsersToGroup(removed_id, thread_id=thread_id)
|
||||
|
||||
def onTitleChange(self, author_id, new_title, thread_id, thread_type, **kwargs):
|
||||
if old_thread_id == thread_id and old_title != new_title:
|
||||
log.info("{} changed the thread title. It will be changed back".format(author_id))
|
||||
self.changeThreadTitle(old_title, thread_id=thread_id, thread_type=thread_type)
|
||||
log.info(
|
||||
"{} changed the thread title. It will be changed back".format(author_id)
|
||||
)
|
||||
self.changeThreadTitle(
|
||||
old_title, thread_id=thread_id, thread_type=thread_type
|
||||
)
|
||||
|
||||
def onNicknameChange(
|
||||
self, author_id, changed_for, new_nickname, thread_id, thread_type, **kwargs
|
||||
):
|
||||
if (
|
||||
old_thread_id == thread_id
|
||||
and changed_for in old_nicknames
|
||||
and old_nicknames[changed_for] != new_nickname
|
||||
):
|
||||
log.info(
|
||||
"{} changed {}'s' nickname. It will be changed back".format(
|
||||
author_id, changed_for
|
||||
)
|
||||
)
|
||||
self.changeNickname(
|
||||
old_nicknames[changed_for],
|
||||
changed_for,
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
)
|
||||
|
||||
def onNicknameChange(self, author_id, changed_for, new_nickname, thread_id, thread_type, **kwargs):
|
||||
if old_thread_id == thread_id and changed_for in old_nicknames and old_nicknames[changed_for] != new_nickname:
|
||||
log.info("{} changed {}'s' nickname. It will be changed back".format(author_id, changed_for))
|
||||
self.changeNickname(old_nicknames[changed_for], changed_for, thread_id=thread_id, thread_type=thread_type)
|
||||
|
||||
client = KeepBot("<email>", "<password>")
|
||||
client.listen()
|
||||
|
@@ -3,6 +3,7 @@
|
||||
from fbchat import log, Client
|
||||
from fbchat.models import *
|
||||
|
||||
|
||||
class RemoveBot(Client):
|
||||
def onMessage(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
|
||||
@@ -11,7 +12,14 @@ class RemoveBot(Client):
|
||||
self.removeUserFromGroup(author_id, thread_id=thread_id)
|
||||
else:
|
||||
# Sends the data to the inherited onMessage, so that we can still see when a message is recieved
|
||||
super(RemoveBot, self).onMessage(author_id=author_id, message_object=message_object, thread_id=thread_id, thread_type=thread_type, **kwargs)
|
||||
super(RemoveBot, self).onMessage(
|
||||
author_id=author_id,
|
||||
message_object=message_object,
|
||||
thread_id=thread_id,
|
||||
thread_type=thread_type,
|
||||
**kwargs
|
||||
)
|
||||
|
||||
|
||||
client = RemoveBot("<email>", "<password>")
|
||||
client.listen()
|
||||
|
Reference in New Issue
Block a user