1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import os
- import sys
- sys.path.append(os.curdir)
- from pqai_agent import configs
- from pqai_agent.message import Message, MessageType, MessageChannel
- from pqai_agent.message_queue_backend import AliyunRocketMQQueueBackend
- import time
- from argparse import ArgumentParser
- if __name__ == '__main__':
- parser = ArgumentParser(description="Send messages to Aliyun RocketMQ")
- parser.add_argument('--staff-id', type=str, help='Staff ID, as receiver')
- parser.add_argument('--user-id', type=str, help='User ID, as sender')
- args = parser.parse_args()
- config = configs.get()
- use_aliyun_mq = config['debug_flags']['use_aliyun_mq']
- receive_queue = AliyunRocketMQQueueBackend(
- config['mq']['endpoints'],
- config['mq']['instance_id'],
- config['mq']['receive_topic'],
- has_consumer=False, has_producer=True,
- topic_type='FIFO'
- )
- message_id = 0
- while True:
- print("Input next message: ")
- text = sys.stdin.readline().strip()
- if not text:
- continue
- message_id += 1
- sender = args.user_id
- receiver = args.staff_id
- if text in (MessageType.AGGREGATION_TRIGGER.name,
- MessageType.HUMAN_INTERVENTION_END.name):
- message = Message.build(
- MessageType.__members__.get(text),
- MessageChannel.CORP_WECHAT,
- sender, receiver, None, int(time.time() * 1000))
- else:
- message = Message.build(MessageType.TEXT, MessageChannel.CORP_WECHAT,
- sender,receiver, text, int(time.time() * 1000)
- )
- message.msgId = message_id
- receive_queue.produce(message)
|