接入微信的一个小问题
拉到微信群后,如果用户a开启了某个act,用户b也可以对该act进行输入操作,并且不论是谁提供的输入,机器人都会@a。
我能想到的几种解决办法:
- 最简单的限制,记录开启act的用户,暂时屏蔽其他用户输入操作;
- 复杂一点的办法,记录最后输入的用户,回复时@最后输入的用户,但对于多线程的方法,这种可能会存在a和b同时输入,两条都回复b的情况;
- 资源消耗较大的方法,对于不同的用户开启不同的线程进行回复,这样可以达到不同用户同时开启多个act的效果,不同用户之间的act互不影响;
- 最复杂的办法,在nact的用户输入方法中,将“输入用户”也作为输出参数之一;在nact的发送消息方法中,可以指定用户回复。
希望能有所帮助。