def start(self, ev_channel=None, rss_url=None, rss_rate=None): """ Start by telling the portal to start a new RSS session ev_channel - key of the Evennia channel to connect to rss_url - full URL to the RSS feed to subscribe to rss_update_rate - how often for the feedreader to update """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] self.db.ev_channel = channel if rss_url: self.db.rss_url = rss_url if rss_rate: self.db.rss_rate = rss_rate # instruct the server and portal to create a new session with # the stored configuration configdict = { "uid": self.dbid, "url": self.db.rss_url, "rate": self.db.rss_rate } _SESSIONS.start_bot_session("evennia.server.portal.rss.RSSBotFactory", configdict)
def start(self, ev_channel=None, rss_url=None, rss_rate=None): """ Start by telling the portal to start a new RSS session Args: ev_channel (str): Key of the Evennia channel to connect to. rss_url (str): Full URL to the RSS feed to subscribe to. rss_update_rate (int): How often for the feedreader to update. Raises: RuntimeError: If `ev_channel` does not exist. """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] self.db.ev_channel = channel if rss_url: self.db.rss_url = rss_url if rss_rate: self.db.rss_rate = rss_rate # instruct the server and portal to create a new session with # the stored configuration configdict = {"uid": self.dbid, "url": self.db.rss_url, "rate": self.db.rss_rate} _SESSIONS.start_bot_session("evennia.server.portal.rss.RSSBotFactory", configdict)
def start(self, ev_channel=None, grapevine_channel=None): """ Start by telling the portal to connect to the grapevine network. """ if not _GRAPEVINE_ENABLED: self.delete() return global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # connect to Evennia channel if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError( f"Evennia Channel '{ev_channel}' not found.") channel = channel[0] channel.connect(self) self.db.ev_channel = channel if grapevine_channel: self.db.grapevine_channel = grapevine_channel # these will be made available as properties on the protocol factory configdict = { "uid": self.dbid, "grapevine_channel": self.db.grapevine_channel } _SESSIONS.start_bot_session(self.factory_path, configdict)
def start(self, ev_channel=None, imc2_network=None, imc2_mudname=None, imc2_port=None, imc2_client_pwd=None, imc2_server_pwd=None): """ Start by telling the portal to start a new session Args: ev_channel (str, optional): Key of the Evennia channel to connect to. imc2_network (str, optional): IMC2 network name. imc2_mudname (str, optional): Registered mudname (if not given, use settings.SERVERNAME). imc2_port (int, optional): Port number of the IMC2 network. imc2_client_pwd (str, optional): Client password registered with IMC2 network. imc2_server_pwd (str, optional): Server password registered with IMC2 network. Raises: RuntimeError: If `ev_channel` was not found. """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] channel.connect(self) self.db.ev_channel = channel if imc2_network: self.db.imc2_network = imc2_network if imc2_port: self.db.imc2_port = imc2_port if imc2_mudname: self.db.imc2_mudname = imc2_mudname elif not self.db.imc2_mudname: self.db.imc2_mudname = settings.SERVERNAME # storing imc2 passwords in attributes - a possible # security issue? if imc2_server_pwd: self.db.imc2_server_pwd = imc2_server_pwd if imc2_client_pwd: self.db.imc2_client_pwd = imc2_client_pwd configdict = { "uid": self.dbid, "mudname": self.db.imc2_mudname, "network": self.db.imc2_network, "port": self.db.imc2_port, "client_pwd": self.db.client_pwd, "server_pwd": self.db.server_pwd } _SESSIONS.start_bot_session( "evennia.server.portal.imc2.IMC2BotFactory", configdict)
def start(self, ev_channel=None, irc_botname=None, irc_channel=None, irc_network=None, irc_port=None, irc_ssl=None): """ Start by telling the portal to start a new session. Args: ev_channel (str): Key of the Evennia channel to connect to. irc_botname (str): Name of bot to connect to irc channel. If not set, use `self.key`. irc_channel (str): Name of channel on the form `#channelname`. irc_network (str): URL of the IRC network, like `irc.freenode.net`. irc_port (str): Port number of the irc network, like `6667`. irc_ssl (bool): Indicates whether to use SSL connection. """ if not _IRC_ENABLED: # the bot was created, then IRC was turned off. We delete # ourselves (this will also kill the start script) self.delete() return global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # if keywords are given, store (the BotStarter script # will not give any keywords, so this should normally only # happen at initialization) if irc_botname: self.db.irc_botname = irc_botname elif not self.db.irc_botname: self.db.irc_botname = self.key if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError(f"Evennia Channel '{ev_channel}' not found.") channel = channel[0] channel.connect(self) self.db.ev_channel = channel if irc_channel: self.db.irc_channel = irc_channel if irc_network: self.db.irc_network = irc_network if irc_port: self.db.irc_port = irc_port if irc_ssl: self.db.irc_ssl = irc_ssl # instruct the server and portal to create a new session with # the stored configuration configdict = {"uid": self.dbid, "botname": self.db.irc_botname, "channel": self.db.irc_channel, "network": self.db.irc_network, "port": self.db.irc_port, "ssl": self.db.irc_ssl} _SESSIONS.start_bot_session(self.factory_path, configdict)
def start(self, ev_channel=None, irc_botname=None, irc_channel=None, irc_network=None, irc_port=None, irc_ssl=None): """ Start by telling the portal to start a new session. Args: ev_channel (str): Key of the Evennia channel to connect to. irc_botname (str): Name of bot to connect to irc channel. If not set, use `self.key`. irc_channel (str): Name of channel on the form `#channelname`. irc_network (str): URL of the IRC network, like `irc.freenode.net`. irc_port (str): Port number of the irc network, like `6667`. irc_ssl (bool): Indicates whether to use SSL connection. """ if not _IRC_ENABLED: # the bot was created, then IRC was turned off. We delete # ourselves (this will also kill the start script) self.delete() return global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # if keywords are given, store (the BotStarter script # will not give any keywords, so this should normally only # happen at initialization) if irc_botname: self.db.irc_botname = irc_botname elif not self.db.irc_botname: self.db.irc_botname = self.key if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] channel.connect(self) self.db.ev_channel = channel if irc_channel: self.db.irc_channel = irc_channel if irc_network: self.db.irc_network = irc_network if irc_port: self.db.irc_port = irc_port if irc_ssl: self.db.irc_ssl = irc_ssl # instruct the server and portal to create a new session with # the stored configuration configdict = {"uid": self.dbid, "botname": self.db.irc_botname, "channel": self.db.irc_channel, "network": self.db.irc_network, "port": self.db.irc_port, "ssl": self.db.irc_ssl} _SESSIONS.start_bot_session("evennia.server.portal.irc.IRCBotFactory", configdict)
def start(self, ev_channel=None, irc_botname=None, irc_channel=None, irc_network=None, irc_port=None): """ Start by telling the portal to start a new session. Args: ev_channel (str): Key of the Evennia channel to connect to. irc_botname (str): Name of bot to connect to irc channel. If not set, use `self.key`. irc_channel (str): Name of channel on the form `#channelname`. irc_network (str): URL of the IRC network, like `irc.freenode.net`. irc_port (str): Port number of the irc network, like `6667`. """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # if keywords are given, store (the BotStarter script # will not give any keywords, so this should normally only # happen at initialization) if irc_botname: self.db.irc_botname = irc_botname elif not self.db.irc_botname: self.db.irc_botname = self.key if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] channel.connect(self) self.db.ev_channel = channel if irc_channel: self.db.irc_channel = irc_channel if irc_network: self.db.irc_network = irc_network if irc_port: self.db.irc_port = irc_port # instruct the server and portal to create a new session with # the stored configuration configdict = { "uid": self.dbid, "botname": self.db.irc_botname, "channel": self.db.irc_channel, "network": self.db.irc_network, "port": self.db.irc_port } _SESSIONS.start_bot_session("evennia.server.portal.irc.IRCBotFactory", configdict)
def start(self, ev_channel=None, imc2_network=None, imc2_mudname=None, imc2_port=None, imc2_client_pwd=None, imc2_server_pwd=None): """ Start by telling the portal to start a new session Args: ev_channel (str, optional): Key of the Evennia channel to connect to. imc2_network (str, optional): IMC2 network name. imc2_mudname (str, optional): Registered mudname (if not given, use settings.SERVERNAME). imc2_port (int, optional): Port number of the IMC2 network. imc2_client_pwd (str, optional): Client password registered with IMC2 network. imc2_server_pwd (str, optional): Server password registered with IMC2 network. Raises: RuntimeError: If `ev_channel` was not found. """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] channel.connect(self) self.db.ev_channel = channel if imc2_network: self.db.imc2_network = imc2_network if imc2_port: self.db.imc2_port = imc2_port if imc2_mudname: self.db.imc2_mudname = imc2_mudname elif not self.db.imc2_mudname: self.db.imc2_mudname = settings.SERVERNAME # storing imc2 passwords in attributes - a possible # security issue? if imc2_server_pwd: self.db.imc2_server_pwd = imc2_server_pwd if imc2_client_pwd: self.db.imc2_client_pwd = imc2_client_pwd configdict = {"uid": self.dbid, "mudname": self.db.imc2_mudname, "network": self.db.imc2_network, "port": self.db.imc2_port, "client_pwd": self.db.client_pwd, "server_pwd": self.db.server_pwd} _SESSIONS.start_bot_session("evennia.server.portal.imc2.IMC2BotFactory", configdict)
def start(self, ev_channel=None, irc_botname=None, irc_channel=None, irc_network=None, irc_port=None): """ Start by telling the portal to start a new session. ev_channel - key of the Evennia channel to connect to irc_botname - name of bot to connect to irc channel. If not set, use self.key irc_channel - name of channel on the form #channelname irc_network - url of network, like irc.freenode.net irc_port - port number of irc network, like 6667 """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # if keywords are given, store (the BotStarter script # will not give any keywords, so this should normally only # happen at initialization) if irc_botname: self.db.irc_botname = irc_botname elif not self.db.irc_botname: self.db.irc_botname = self.key if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError("Evennia Channel '%s' not found." % ev_channel) channel = channel[0] channel.connect(self) self.db.ev_channel = channel if irc_channel: self.db.irc_channel = irc_channel if irc_network: self.db.irc_network = irc_network if irc_port: self.db.irc_port = irc_port # instruct the server and portal to create a new session with # the stored configuration configdict = {"uid":self.dbid, "botname": self.db.irc_botname, "channel": self.db.irc_channel , "network": self.db.irc_network, "port": self.db.irc_port} _SESSIONS.start_bot_session("evennia.server.portal.irc.IRCBotFactory", configdict)
def start(self, ev_channel=None, rss_url=None, rss_rate=None): """ Start by telling the portal to start a new RSS session Args: ev_channel (str): Key of the Evennia channel to connect to. rss_url (str): Full URL to the RSS feed to subscribe to. rss_rate (int): How often for the feedreader to update. Raises: RuntimeError: If `ev_channel` does not exist. """ if not _RSS_ENABLED: # The bot was created, then RSS was turned off. Delete ourselves. self.delete() return global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS if ev_channel: # connect to Evennia channel channel = search.channel_search(ev_channel) if not channel: raise RuntimeError( f"Evennia Channel '{ev_channel}' not found.") channel = channel[0] self.db.ev_channel = channel if rss_url: self.db.rss_url = rss_url if rss_rate: self.db.rss_rate = rss_rate # instruct the server and portal to create a new session with # the stored configuration configdict = { "uid": self.dbid, "url": self.db.rss_url, "rate": self.db.rss_rate } _SESSIONS.start_bot_session("evennia.server.portal.rss.RSSBotFactory", configdict)
def start(self, ev_location=None, irc_botname=None, irc_channel=None, irc_network=None, irc_port=None, irc_ssl=None): """ Start by telling the portal to start a new session. Args: ev_location (obj): The Evennia location to connect to. irc_botname (str): Name of bot to connect to irc channel. If not set, use `self.key`. irc_channel (str): Name of channel on the form `#channelname`. irc_network (str): URL of the IRC network, like `irc.freenode.net`. irc_port (str): Port number of the irc network, like `6667`. irc_ssl (bool): Indicates whether to use SSL connection. """ global _SESSIONS if not _SESSIONS: from evennia.server.sessionhandler import SESSIONS as _SESSIONS # if keywords are given, store (the BotStarter script will not give any # keywords, so this should normally only happen at initialization) if ev_location: self.db.ev_location = ev_location if irc_botname: self.db.irc_botname = irc_botname elif not self.db.irc_botname: self.db.irc_botname = self.key if irc_channel: self.db.irc_channel = irc_channel if irc_network: self.db.irc_network = irc_network if irc_port: self.db.irc_port = irc_port if irc_ssl: self.db.irc_ssl = irc_ssl # Default bot values. self.db.botdesc = "This is an Evennia IRC bot connecting from '%s'." % settings.SERVERNAME self.db.puppetdict = {} self.db.puppetentrymsg = " appears in the room." self.db.puppetexitmsg = " has left the room." self.db.puppetdefaultdesc = "This is a Puppet." self.db.userignorelist = [ self.db.irc_botname, "@" + self.db.irc_botname, "@ChanServ", "ChanServ" ] # instruct the server and portal to create a new session with # the stored configuration configdict = { "uid": self.dbid, "botname": self.db.irc_botname, "channel": self.db.irc_channel, "network": self.db.irc_network, "port": self.db.irc_port, "ssl": self.db.irc_ssl } _SESSIONS.start_bot_session("typeclasses.irc2puppet.PortalBotFactory", configdict)