/usr/bin/jsb-irc is in jsonbot 0.84.4-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | #!/usr/bin/python
#
#
## bootstrap
import warnings
warnings.simplefilter("ignore")
import os, sys
sys.path.insert(0, os.getcwd())
## options parser
from jsb.utils.opts import makeircconfig, makeircopts
from jsb.lib.datadir import setdatadir, getdatadir
opts = makeircopts()
if opts.datadir: setdatadir(opts.datadir)
## print version
from jsb.version import getversion
print getversion('IRC')
## jsb imports
from jsb.utils.exception import handle_exception
from jsb.lib.partyline import partyline
from jsb.drivers.irc.bot import IRCBot
from jsb.lib.boot import plugin_packages, boot
from jsb.utils.log import setloglevel
from jsb.lib.errors import NoOwnerSet
from jsb.lib.fleet import getfleet
from jsb.utils.mainloop import mainloop
from jsb.lib.threads import start_new_thread
from jsb.lib.eventhandler import mainhandler
import jsb.lib.users as users
import jsb
## basic imports
import logging
import time
import os
## loglevel
setloglevel(opts.loglevel or "warning", not opts.nocolors, opts.datadir)
## boot
boot(opts.datadir)
## runtime
if opts.owner:
u = users.users_boot()
u.make_owner(opts.owner)
cfg = makeircconfig(opts)
if opts.name: cfg.name = opts.name
else: cfg.name = "default-irc"
cfg.save()
## resume or start the bot
if opts.doresume and os.path.isfile(opts.doresume):
logging.warn("irc - resuming from %s" % opts.doresume)
if True:
fleet = getfleet()
fleet.resume(opts.doresume)
fleet.startok.wait()
partyline.resume(opts.doresume)
os.unlink(opts.doresume)
else:
try:
bot = IRCBot(cfg)
except NoOwnerSet, ex:
print "owner is not set in %s - use the -o option" % str(ex)
os._exit(1)
if opts.channel and not opts.channel in bot.state['joinedchannels']:
bot.state['joinedchannels'].append(opts.channel)
bot.state.save()
start_new_thread(bot.boot, ())
mainloop()
|