예제 #1
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '缺少参数'})
         elif len(obj.args()) == 1:
             return response.jsonResponse({'reply': '缺少文件名'})
         elif len(obj.args()) == 2:
             scripts = script.models.PythonScript.objects.filter(
                 name=obj.args()[1])
             if len(scripts) == 0:
                 return response.jsonResponse({'reply': '文件不存在'})
             else:
                 if obj.args()[0] == MESSAGE_TYPE['MESSAGE']:
                     return self._response(
                         self._unRegister(event.models.Message, scripts[0]))
                 elif obj.args()[0] == MESSAGE_TYPE['NOTICE']:
                     return self._response(
                         self._unRegister(event.models.Notice, scripts[0]))
                 elif obj.args()[0] == MESSAGE_TYPE['REQUEST']:
                     return self._response(
                         self._unRegister(event.models.Request, scripts[0]))
                 elif obj.args()[0] == MESSAGE_TYPE['META_EVENT']:
                     return self._response(
                         self._unRegister(event.models.Meta_event,
                                          scripts[0]))
                 else:
                     return response.jsonResponse({'reply': '注册类型错误'})
예제 #2
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse(self._display(1))
         elif obj.args()[0] == 'add':
             if len(obj.args()) >= 3:
                 self._save(obj.args()[1], ' '.join(obj.args()[2:]))
                 return response.jsonResponse({'reply': '添加成功'})
             else:
                 return response.jsonResponse(
                     {'reply': '错误参数!\n示例: /help add command xxxx xxx'})
         elif obj.args()[0] == 'del':
             if len(obj.args()) == 2:
                 if self._del(obj.args()[1]):
                     return response.jsonResponse({'reply': '删除成功'})
                 else:
                     return response.jsonResponse({'reply': '未找到该帮助'})
             else:
                 return response.jsonResponse(
                     {'reply': '错误参数!\n示例: /help del command'})
         elif obj.args()[0].isdigit():
             return response.jsonResponse(self._display(obj.args()[0]))
         elif len(obj.args()) == 1:
             result = self._query(obj.args()[0])
             if result:
                 return response.jsonResponse({'reply': result})
             else:
                 return response.jsonResponse({'reply': '没有找到该帮助'})
예제 #3
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '文件名不能为空'})
         elif self.filter(obj.args()[0], BLACK_LIST):
             return response.jsonResponse({'reply': '创建失败,该名字为保留关键字'})
         elif len(obj.args()) == 1:
             obj.args().append(obj.args()[0])
         return self._bind(obj.args()[0], obj.args()[1], content['user_id'])
예제 #4
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '命令不能为空'})
         else:
             try:
                 return response.jsonResponse(
                     {'reply': str(eval(obj.args()[0]))})
             except Exception:
                 return response.jsonResponse({'reply': '错误语法'})
예제 #5
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '命令不能为空'})
         elif self.filter(obj.args()[0], BLACK_LIST):
             return response.jsonResponse({'reply': '启用失败,该名字为保留关键字'})
         if self._enable(obj.args()[0]):
             return response.jsonResponse({'reply': '启用成功'})
         else:
             return response.jsonResponse({'reply': '启用失败,未找到该命令'})
예제 #6
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '命令不能为空'})
         elif self.filter(obj.args()[0], BLACK_LIST):
             return response.jsonResponse({'reply': '输出失败,该名字为保留关键字'})
         result = self._print(obj.args()[0])
         if result:
             return response.privateResponse(content, result)
         else:
             return response.jsonResponse({'reply': '输出失败,未找到该文件'})
예제 #7
0
 def _bind(self, inside, external, user_id):
     if self._checkScriptExists(inside):
         scripts = self._script(inside)
         commands = models.Command.objects.filter(external_name=external)
         if len(commands) == 0:
             cmd = models.Command(inside_name=scripts[0],
                                  external_name=external,
                                  last_bind_user_id=user_id)
             cmd.save()
         else:
             commands[0].inside_name = scripts[0]
             commands[0].external_name = external
             commands[0].last_bind_user_id = user_id
             commands[0].save()
         return response.jsonResponse({'reply': '绑定成功'})
     else:
         return response.jsonResponse({'reply': '绑定失败,请重新创建文件'})
예제 #8
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({'reply': '文件名不能为空'})
         elif self.filter(obj.args()[0], BLACK_LIST):
             return response.jsonResponse({'reply': '创建失败,该名字为保留关键字'})
         elif not obj.content():
             return response.jsonResponse({'reply': '创建失败,不能为空'})
         else:
             self._saveScript(
                 obj.args()[0],
                 os.path.join(util.PYTHON_SCRIPT_DIR,
                              obj.args()[0] + '.py'), obj.content(),
                 self._user(content['user_id']))
             return response.jsonResponse({'reply': '创建成功'})
예제 #9
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         if len(obj.args()) == 0:
             return response.jsonResponse({
                 'reply':
                 '当前拥有命令:\n%s\n当前第1页' %
                 ' '.join(self._allCommands()[:self.simple_page_num])
             })
         if obj.args()[0].isdigit():
             page = int(obj.args()[0])
             return response.jsonResponse({
                 'reply':
                 '当前拥有命令:\n%s\n当前第%s页' %
                 (' '.join(self._allCommands()[page * self.simple_page_num:
                                               (page + 1) *
                                               self.simple_page_num]), page)
             })
예제 #10
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         return response.jsonResponse({'reply': 'Pong'})
예제 #11
0
 def process_request(self, content):
     obj = Parsetext(content['message'])
     if obj.command() == self.__str__(
     ) and content['message_type'] == 'group':
         return response.jsonResponse(
             {'reply': "Version:%s %s" % (VERSION[0], VERSION[1])})
예제 #12
0
 def _response(self, result):
     if result:
         return response.jsonResponse({'reply': '反注册成功'})
     else:
         return response.jsonResponse({'reply': '未注册该中间件'})