From e68459554d0f94d7080f0c45b1e16fd3c2af2175 Mon Sep 17 00:00:00 2001 From: TheLastGimbus Date: Fri, 24 Jan 2020 00:01:30 +0100 Subject: [PATCH 1/2] Add @everyone example --- examples/mention_everyone.py | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 examples/mention_everyone.py diff --git a/examples/mention_everyone.py b/examples/mention_everyone.py new file mode 100644 index 00000000..bdf818f2 --- /dev/null +++ b/examples/mention_everyone.py @@ -0,0 +1,40 @@ +""" +This script allows you to do @everyone, +just like on Discord, but on messenger! +You can use it on your personal or separate account +(but this account needs to be added to group, obviously). +""" + +import fbchat + +session = fbchat.Session.login("") + +listener = fbchat.Listener.connect(session, chat_on=False, foreground=False) + + +def on_message(event): + print(f"{event.message.text} from {event.author.id} in {event.thread.id}") + thread = event.thread + if not isinstance(thread, fbchat.Group): + # Skip if it's not group + return + if event.message.text.lower() == "@everyone": + mentions = [] + message = '' + # TODO: Get group's participants and add their mentions + for user in participants: + username = '' # TODO + message += username + ' ' + mentions.append( + fbchat.Mention( + thread.id, + offset=len(message), + lenght=len(username) + ) + ) + thread.send_text(message, mentions=mentions) + + +for event in listener.listen(): + if isinstance(event, fbchat.MessageEvent): + on_message(event) From ef53d69e582bd09629e138bfb4202e2fa564a590 Mon Sep 17 00:00:00 2001 From: TheLastGimbus Date: Fri, 24 Jan 2020 00:02:05 +0100 Subject: [PATCH 2/2] Format with black --- examples/mention_everyone.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/examples/mention_everyone.py b/examples/mention_everyone.py index bdf818f2..79108c5b 100644 --- a/examples/mention_everyone.py +++ b/examples/mention_everyone.py @@ -20,17 +20,13 @@ def on_message(event): return if event.message.text.lower() == "@everyone": mentions = [] - message = '' + message = "" # TODO: Get group's participants and add their mentions for user in participants: - username = '' # TODO - message += username + ' ' + username = "" # TODO + message += username + " " mentions.append( - fbchat.Mention( - thread.id, - offset=len(message), - lenght=len(username) - ) + fbchat.Mention(thread.id, offset=len(message), lenght=len(username)) ) thread.send_text(message, mentions=mentions)