mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-07-04 13:23:07 +02:00
fix: do not count sticker messages
This commit is contained in:
parent
bc8bc307ef
commit
d35aa59a25
20
main.py
20
main.py
@ -15,6 +15,7 @@ PHONE_NUMBER = os.getenv('PHONE_NUMBER', '1234567890') # Default to '1234567890
|
|||||||
RECEIVE_URL = f"http://localhost:9922/v1/receive/{PHONE_NUMBER}"
|
RECEIVE_URL = f"http://localhost:9922/v1/receive/{PHONE_NUMBER}"
|
||||||
REMOVE_ATTACHMENT_URL = f"http://localhost:9922/v1/attachments/"
|
REMOVE_ATTACHMENT_URL = f"http://localhost:9922/v1/attachments/"
|
||||||
SEND_URL = 'http://localhost:9922/v2/send'
|
SEND_URL = 'http://localhost:9922/v2/send'
|
||||||
|
LIST_SIGNAL_GROUPS = f"http://localhost:9922/v1/groups/${PHONE_NUMBER}"
|
||||||
GROUP_ID = os.getenv('GROUP_ID', '')
|
GROUP_ID = os.getenv('GROUP_ID', '')
|
||||||
GROUP_ID_SEND = os.getenv('GROUP_ID_SEND', '')
|
GROUP_ID_SEND = os.getenv('GROUP_ID_SEND', '')
|
||||||
CAT_API = os.getenv('CAT_API', '')
|
CAT_API = os.getenv('CAT_API', '')
|
||||||
@ -137,7 +138,6 @@ USER_MESSAGE_COUNT = {}
|
|||||||
|
|
||||||
async def count_messages(message_content, counter):
|
async def count_messages(message_content, counter):
|
||||||
if message_content and should_count(message_content):
|
if message_content and should_count(message_content):
|
||||||
print("counting message: ", message_content)
|
|
||||||
uuid = extract_source_uuid(message_content)
|
uuid = extract_source_uuid(message_content)
|
||||||
source_name = extract_source_name(message_content)
|
source_name = extract_source_name(message_content)
|
||||||
await counter.update_string_map(uuid, source_name)
|
await counter.update_string_map(uuid, source_name)
|
||||||
@ -215,12 +215,16 @@ def is_message_reaction(message):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def should_count(message_content):
|
def should_count(message_content):
|
||||||
if message_content.get('destinationNumber', {}) != PHONE_NUMBER:
|
print("should_count triggered")
|
||||||
print("not counting because destinationNumber != PHONE_NUMBER")
|
#if message_content.get('destinationNumber', {}) != PHONE_NUMBER:
|
||||||
return False
|
# print("not counting because destinationNumber != PHONE_NUMBER")
|
||||||
if message_content.get('sticker') != None:
|
# return False
|
||||||
print("not counting because message has a sticker")
|
sticker = message_content.get("dataMessage", {}).get("sticker", {})
|
||||||
|
print("sticker ", sticker)
|
||||||
|
if sticker != {}:
|
||||||
|
print("not counting because message has a sticker ", message_content)
|
||||||
return False
|
return False
|
||||||
|
print("counting message: ", message_content)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def listen_to_server(counter):
|
async def listen_to_server(counter):
|
||||||
@ -233,10 +237,6 @@ async def listen_to_server(counter):
|
|||||||
print("message: ", message)
|
print("message: ", message)
|
||||||
message_content = extract_message_content(message)
|
message_content = extract_message_content(message)
|
||||||
await send_to_group(message_content, counter, message)
|
await send_to_group(message_content, counter, message)
|
||||||
print("message_content.get('sticker') == None: ", message_content.get('sticker') == None, message_content.get('sticker'))
|
|
||||||
if should_count(message_content):
|
|
||||||
await count_messages(json.loads(message).get('envelope', {}), counter)
|
|
||||||
await trigger_command(message_content, PHONE_NUMBER)
|
|
||||||
except websockets.ConnectionClosed as e:
|
except websockets.ConnectionClosed as e:
|
||||||
print(f"Connection closed: {e}")
|
print(f"Connection closed: {e}")
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user