vecan.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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) 2019 rabin <rabin@dever.cc> *
  9. * https://github.com/shemic/vecan.git *
  10. ********************************************************
  11. 如需退出,可以按 Ctrl-4 组合键。
  12. ''')
  13. Log.init(__name__)
  14. Demeter.logger.info('测试测试')
  15. self.robot = Demeter.service('robot')
  16. self.robot.say('你好')
  17. WatchDog.init()
  18. def stop(self, signal, frame):
  19. self.clean()
  20. self.snowboy.stop()
  21. Demeter.dog.stop()
  22. def run(self):
  23. self.init()
  24. signal.signal(signal.SIGINT, self.stop)
  25. #Demeter.webInit('front')
  26. try:
  27. self.snowboy = Demeter.service('snowboy')
  28. self.snowboy.init(self.robot)
  29. except AttributeError:
  30. Demeter.logger.error('初始化离线唤醒功能失败')
  31. pass
  32. def clean():
  33. temp = File.runtime('temp')
  34. temp_files = os.listdir(temp)
  35. for f in temp_files:
  36. if os.path.isfile(os.path.join(temp, f)) and re.match(r'output[\d]*\.wav', os.path.basename(f)):
  37. os.remove(os.path.join(temp, f))
  38. if __name__ == '__main__':
  39. vecan = Vecan()
  40. vecan.run()