This repository has been archived on 2023-04-13. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
CloudBot/cloudbot.py
2014-03-06 11:45:00 +13:00

50 lines
No EOL
1.2 KiB
Python
Executable file

#!/usr/bin/env python
from core import bot
import os
import sys
import time
import signal
# check python version
if sys.version_info < (2, 7, 0):
print("CloudBot requires Python 2.7 or newer.")
sys.exit(1)
# set up enviroment
os.chdir(sys.path[0] or '.') # do stuff relative to the install directory
# this is not the code you are looking for
if os.path.exists(os.path.abspath('lib')):
sys.path += ['lib']
print('CloudBot2 <http://git.io/cloudbotirc>')
def exit_gracefully(signum, frame):
# this doesn't really work that well
cloudbot.stop()
# restore the original handler so if they do it again it triggers
signal.signal(signal.SIGINT, original_sigint)
# store the original SIGINT handler
original_sigint = signal.getsignal(signal.SIGINT)
signal.signal(signal.SIGINT, exit_gracefully)
# create a bot thread and start it
cloudbot = bot.Bot()
cloudbot.start()
# watch to see if the bot stops running or needs a restart
while True:
if cloudbot.running:
time.sleep(.1)
else:
if cloudbot.do_restart:
# create a new bot thread and start it
del cloudbot
cloudbot = bot.Bot()
cloudbot.start()
continue
else:
break