vecan.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # -*- coding: utf-8 -*-
  2. from demeter.core import *
  3. class Vecan(object):
  4. def init(self):
  5. print('''
  6. ********************************************************
  7. * vecan-robot - 神算终端机器人 *
  8. * (c) 201(c) 2019 rabin <rabin@dever.cc> *
  9. * https://github.com/shemic/vecan.git *
  10. ********************************************************
  11. 如需退出,可以按 Ctrl-4 组合键。
  12. ''')
  13. Demeter.initConfig()
  14. Demeter.logger = Log.init(__name__)
  15. Demeter.logger.info('测试测试')
  16. self.config()
  17. self.robot = Demeter.service('robot')
  18. self.robot.init()
  19. self.robot.say('你好,我是神算终端机器人vecan,很高兴为你服务')
  20. Demeter.dog = WatchDog.init()
  21. def config(self):
  22. if 'vecan' not in Demeter.config:
  23. Demeter.config['vecan'] = {}
  24. if 'data' not in Demeter.config['vecan']:
  25. Demeter.config['vecan']['data'] = File.runtime('data')
  26. if 'temp' not in Demeter.config['vecan']:
  27. Demeter.config['vecan']['temp'] = File.runtime('temp')
  28. if 'outname' not in Demeter.config['vecan']:
  29. Demeter.config['vecan']['outname'] = 'output'
  30. def stop(self, signal, frame):
  31. self.clean()
  32. self.snowboy.stop()
  33. Demeter.dog.stop()
  34. def run(self):
  35. self.init()
  36. signal.signal(signal.SIGINT, self.stop)
  37. #Demeter.webInit('front')
  38. return
  39. try:
  40. self.snowboy = Demeter.service('snowboy')
  41. self.snowboy.init(self.robot)
  42. self.robot.initSnowboy(self.snowboy)
  43. except AttributeError:
  44. Demeter.logger.error('初始化离线唤醒功能失败')
  45. pass
  46. if __name__ == '__main__':
  47. vecan = Vecan()
  48. vecan.run()