def __init__(self): self.app: Client = Client("bot", app_version=self.app_version, device_model=self.device_model, api_id=os.getenv("API_ID"), api_hash=os.getenv("API_HASH"), bot_token=os.getenv("TOKEN"), plugins=None, system_version=self.system_version) self.irc: IrcBot = IrcBot.from_config( dict( nick=os.getenv("IRC_NICKNAME"), autojoins=[os.getenv("IRC_CHANNEL")], username=os.getenv("IRC_NICKNAME"), realname=os.getenv("IRC_INFO"), sasl_username=os.getenv("IRC_NICKNAME"), sasl_password=os.getenv("IRC_PASSWORD"), host='irc.libera.chat', port=6697, ssl=True, debug=True, includes=[ 'irc3.plugins.command', 'irc3.plugins.logger', 'bot.irc_plugins.irc2tg', ], )) self.start_time: datetime = datetime.utcnow()
def __init__(self, broadcast_msg): self.broadcast_msg = broadcast_msg config = self.defaults.copy() config.update(inspect.getmembers(self)) self.c = IrcBot(**config) self.c.recv_msg = self.recv_msg self.c.recv_event = self.recv_event self.c.include('echobot.ircplugin') self.c.run(forever=False)
def main(): """Initializes a new irc3 bot.""" bot = IrcBot.from_config(conf) bot.version = get_version_from_file('Makefile') observer = Observer() observer.schedule( ReloadEventHandler(bot, conf), path.dirname(path.abspath(__file__)), recursive=True ) observer.start() try: bot.run(forever=True) except KeyboardInterrupt: observer.stop()
def main(): from roboto import model, http, loop, disc, config, commands # Parse & load config file config.update(parse_config('bot', "config.ini")) # Connect & Init DB model.init_db(config) # Load IRC Bot irc_bot = IrcBot.from_config(config, loop=loop) irc_bot.run(forever=False) # HTTP Server for playlist http.setup() # Start background task queue processor asyncio.ensure_future(commands.dispatcher.task_consumer(), loop=loop) # Start discord client disc.dc.run(config.get("discord_token"))
class IRCClient(object): defaults = dict( nick='echobot', realname='echobot', userinfo='echobot IRC client', ) events = {"JOIN": 'joined', "PART": 'dramaparted', "QUIT": 'ragequit'} def __init__(self, broadcast_msg): self.broadcast_msg = broadcast_msg config = self.defaults.copy() config.update(inspect.getmembers(self)) self.c = IrcBot(**config) self.c.recv_msg = self.recv_msg self.c.recv_event = self.recv_event self.c.include('echobot.ircplugin') self.c.run(forever=False) def format_msg(self, mask, event, target, data): return '<{0}> {1}'.format(mask.nick, data) def recv_msg(self, mask, event, target, data): self.broadcast_msg(self.format_msg(mask, event, target, data)) def format_event(self, mask, event, channel, data): fmt = '*** {0} has {1} {2}'.format(mask.nick, self.events[event], channel) if data: fmt += ' ({0})'.format(data) return fmt def recv_event(self, mask, event, channel, data): self.broadcast_msg(self.format_event(mask, event, channel, data)) @asyncio.coroutine def send_msg(self, msg): for channel in irc3.utils.as_list(getattr(self, 'autojoins', [])): self.c.privmsg(channel, msg)
from irc3 import IrcBot IrcBot.from_argv('config.ini')
from irc3 import IrcBot, utils import sys from threading import Thread CFG = utils.parse_config('ipdb', 'ipdb.ini') IRC_CFG = { **utils.parse_config('bot', 'irclib/config.ini'), **CFG['irc'], 'autojoins': [CFG['adminChannel']] } bot = server = None if __name__ == "__main__": bot = IrcBot(**IRC_CFG) bot.include('irc3.plugins.command') bot.include('irclib.plugins.ipdb') # bot.run() bot_thread = Thread(target=bot.run) bot_thread.daemon = True bot_thread.start() while 1: raw_input = input('INPUT:') try: eval(raw_input) except: print("Unexpected error:", sys.exc_info()[0])
from irc3 import IrcBot IrcBot.from_argv('config-dev.ini')