This snipped allows you to forward sms messages from huawei 3g/lte modem to your telegram messenger
first install the pip package:
usage:
option --new to forward only new (unread) messages
option --telegram to forward to telegram
option --read to set the new message status from unread to read
first install the pip package:
HTML Code:
pip3 install huawei-lte-api
Code:
# -*- coding: utf-8 -*- import argparse import requests from huawei_lte_api.Client import Client from huawei_lte_api.Connection import Connection parser = argparse.ArgumentParser() parser.add_argument('--new', action='store_true', default=False) parser.add_argument('--read', action='store_true', default=False) parser.add_argument('--telegram', action='store_true', default=False) parsed = parser.parse_args() #print('Result:', vars(parsed)) def is_unread(mess): if mess['Smstat'] == 0 or mess['Smstat'] == '0': return True return False def telegram(message): token = 'TELEGRAM_BOT_TOKEN' chat_id = 'THE_CHAT_ID_OF_A_BOTCHAT' url = 'https://api.telegram.org/bot' + token + '/sendMessage' myobj = {'chat_id': chat_id, 'text': message} response = requests.post(url, json = myobj) if response.ok: return True return False # with Connection('http://192.168.8.1/') as connection: For limited access, I have valid credentials no need for limited access with Connection('http://admin:YOUR_PASSWORD@192.168.8.1/') as connection: client = Client(connection) # This just simplifies access to separate API groups, you can use device = Device(connection) if you want sms_list = client.sms.get_sms_list(unread_preferred = True) for mess in sms_list['Messages']['Message']: if parsed.new and not is_unread(mess): continue for key, value in mess.items(): print(f"{key}: {value}") print("") if parsed.telegram and not telegram(mess['Content']): continue if parsed.read and is_unread(mess): #client.sms.send_sms(phone_numbers=['NUMBER'], message=mess['Content']) #you can forward a sms to another number client.sms.set_read(mess['Index'])
Code:
python3 read_sms.py --telegram --new --read
option --telegram to forward to telegram
option --read to set the new message status from unread to read