scripts/alert/bark/msgsend.py

71 lines
3.0 KiB
Python

#!/usr/bin/python3
import sys
import json
import os
import argparse
def usage():
pformat = "%-7s%-7s%-10s%-10s%-10s%-10s%-10s"
sformat = "%-23s%-18s%-16s%-14s%-14s%-12s%-12s"
print(pformat % ('must', 'must', 'optional', 'optional', 'optional', 'optional', 'optional'))
print(pformat % ('title', 'body', 'sound', 'icon', 'group', 'badge', 'isArchive'))
print(pformat % ('-', '-', '2.0-alarm', '-', 'default', '-', '1'))
print(pformat % ('-', '-', '1.4-bell', '-', 'docker', '-', '1'))
print(pformat % ('-', '-', '1.6-bloom', '-', 'frp', '-', '1'))
print("\nThe 'sound' parameter also accepts the following as its value:")
print(sformat % ("1.8-healthnotification", "2.6-typewriters", "2.9-newsflash", "1.5-mailsent", "1.5-tiptoes", "4.5-update", "2.9-spell"))
print(sformat % ("2.2-multiwayinvitation", "4.5-anticipate", "1.2-telegraph", "0.9-calypso", "1.5-newmail", "1.7-glass", "2.2-choo"))
print(sformat % ("1.4-paymentsuccess", "1.5-electronic", "0.7-birdsong", "1.9-descent", "1.3-ladder", "4.5-chime", "1.5-horn"))
print(sformat % ("4.7-sherwoodforest", "3.0-gotosleep", "4.2-suspense", "1.5-fanfare", "7.0-minuet", "0.6-shake", "1.9-noir"))
print()
def getParams(
title='test',
body='hello...',
sound='',
icon='',
group='default',
badge='1',
isarchive=1,
):
params_dict = {'title': title, 'body': body, 'sound': sound, 'icon': icon, 'group': group, 'badge': '1', 'isarchive': '1'}
params_json = json.dumps(params_dict)
with open('/opt/scripts/alert/bark/option.json', 'w') as obj_option:
obj_option.write(params_json)
os.system('/usr/bin/bash /opt/scripts/alert/bark/ciphertxt.sh')
def main():
if len(sys.argv) < 5:
usage()
parser = argparse.ArgumentParser(description='Prepare arguements for bark')
parser.add_argument('--title', help='标题,必要参数', required=True)
parser.add_argument('--body', help='主题内容,必要参数', required=True)
parser.add_argument('--sound', help='提示音,非必要参数,有默认值', default='alarm')
parser.add_argument('--icon', help='图标,非必要参数,有默认值', default='0')
parser.add_argument('--group', help='群组,非必要参数,有默认值', default='default')
parser.add_argument('--badge', help='角标,非必要参数,有默认值', default='1')
parser.add_argument('--isarchive', help='是否自动归档,非必要参数,有默认值', default='1')
# if len(sys.argv) == 1:
# print('Need at least 2 parameters, and most can have 7 parameters, exiting...')
# usage()
args = parser.parse_args()
title = args.title
body = args.body
sound = args.sound
icon = 'https://www.rustle.cc/assets/img/logos/' + str(args.icon) + '.jpg'
group = args.group
badge = args.badge
isarchive = args.isarchive
getParams(title, body, sound, icon, group, badge, isarchive)
if __name__ == "__main__":
main()