Skip to content

Commit 9fcb41c

Browse files
✨ add new cli args
1 parent fec3c65 commit 9fcb41c

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

main.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@
33
from src.utils import user_config
44
from src.log import write_log
55
from src.recorder import recorder
6-
from src.sender import sender
76
from src.paser import parser
87

8+
def main():
9+
write_log("Recorder started.")
10+
asyncio.run(recorder.run())
11+
912
if __name__ == "__main__":
1013
argument_list = sys.argv[1:]
1114
if argument_list == ['python main.py'][1:]:
12-
write_log("Recorder started.")
13-
asyncio.run(recorder.run())
15+
main()
1416
else:
15-
parser.parse_arg(argument_list)
17+
parse_result = parser.parse_arg(argument_list)
18+
if parse_result == 'start':
19+
main()

src/paser.py

+11
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,31 @@ async def _send(self, args: argparse.Namespace):
1111
user_id = int(args.user) if args.user else -1
1212
group_id = int(args.group) if args.group else -1
1313
await sender.send_message(args.message, user_id, group_id)
14+
15+
def _stop(self):
16+
print("error: this function is still work in progress")
17+
quit()
1418

1519
def parse_arg(self, args):
1620
parser = argparse.ArgumentParser(
1721
description="QQ Chat Recorder, record your chat history and save them forever.",
1822
add_help=True,
1923
)
24+
2025
subparsers = parser.add_subparsers(dest="operation")
2126
exec_parser = subparsers.add_parser("send", help="Send a message to a user or group.")
2227
exec_parser.add_argument("-m", "--message", help="Content of message", default=None, required=True)
2328
exec_parser.add_argument("-u", "--user", help="User ID", default=None, required=False)
2429
exec_parser.add_argument("-g", "--group", help="Group ID", default=None, required=False)
30+
exec_parser = subparsers.add_parser("stop", help="Stop the recorder.")
31+
exec_parser = subparsers.add_parser("start", help="Start the recorder.")
2532
args_namespace = parser.parse_args()
2633
if args_namespace.operation == "send":
2734
asyncio.run(self._send(args_namespace))
35+
if args_namespace.operation == "start":
36+
return 'start'
37+
if args_namespace.operation == "stop":
38+
self._stop()
2839

2940

3041
parser = Parser()

0 commit comments

Comments
 (0)