mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-12 22:49:53 -05:00
Better dynamic creation of event numbers
This commit is contained in:
parent
6fafa9714b
commit
74bf4d763a
@ -6,7 +6,7 @@ from __future__ import unicode_literals, absolute_import, print_function, divisi
|
|||||||
import sopel.module
|
import sopel.module
|
||||||
from sopel.config.types import StaticSection, ValidatedAttribute, ListAttribute
|
from sopel.config.types import StaticSection, ValidatedAttribute, ListAttribute
|
||||||
|
|
||||||
from sopel_modules.SpiceBot_Events.System import bot_events_startup_register, bot_events_recieved, bot_events_trigger, botevents, assign_event_number
|
from sopel_modules.SpiceBot_Events.System import bot_events_startup_register, bot_events_recieved, bot_events_trigger, botevents
|
||||||
|
|
||||||
from sopel_modules.SpiceBot_SBTools import (
|
from sopel_modules.SpiceBot_SBTools import (
|
||||||
join_all_channels, chanadmin_all_channels, channel_list_current,
|
join_all_channels, chanadmin_all_channels, channel_list_current,
|
||||||
@ -35,7 +35,6 @@ def configure(config):
|
|||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
bot_logging(bot, 'SpiceBot_Channels', "Starting setup procedure")
|
bot_logging(bot, 'SpiceBot_Channels', "Starting setup procedure")
|
||||||
assign_event_number(bot, "BOT_CHANNELS")
|
|
||||||
bot_events_startup_register(bot, [botevents.BOT_CHANNELS])
|
bot_events_startup_register(bot, [botevents.BOT_CHANNELS])
|
||||||
|
|
||||||
bot.config.define_section("SpiceBot_Channels", SpiceBot_Channels_MainSection, validate=False)
|
bot.config.define_section("SpiceBot_Channels", SpiceBot_Channels_MainSection, validate=False)
|
||||||
|
|||||||
@ -40,8 +40,7 @@ def bot_events_trigger(bot, number, message):
|
|||||||
|
|
||||||
def bot_events_setup_check(bot):
|
def bot_events_setup_check(bot):
|
||||||
if "SpiceBot_Events" not in bot.memory:
|
if "SpiceBot_Events" not in bot.memory:
|
||||||
bot.memory["SpiceBot_Events"] = {"triggers": {}, "startup": [], "loaded": [], "queue": [],
|
bot.memory["SpiceBot_Events"] = {"triggers": {}, "startup": [], "loaded": [], "queue": []}
|
||||||
"usednumbers": [botevents.BOT_WELCOME, botevents.BOT_READY, botevents.BOT_CONNECTED, botevents.BOT_LOADED]}
|
|
||||||
|
|
||||||
|
|
||||||
def bot_events_check(bot, listreq):
|
def bot_events_check(bot, listreq):
|
||||||
@ -92,14 +91,6 @@ def bot_events_startup_check(bot):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def assign_event_number(bot, eventname):
|
|
||||||
eventnumber = 0
|
|
||||||
while not eventnumber and eventnumber not in bot.memory["SpiceBot_Events"]["usednumbers"]:
|
|
||||||
eventnumber = randint(2000, 9999)
|
|
||||||
exec("botevents." + str(eventname).upper() + " = " + str(eventnumber))
|
|
||||||
return eventnumber
|
|
||||||
|
|
||||||
|
|
||||||
class botevents(object):
|
class botevents(object):
|
||||||
"""An dynamic listing of all the notable Bot numeric events.
|
"""An dynamic listing of all the notable Bot numeric events.
|
||||||
|
|
||||||
@ -112,7 +103,19 @@ class botevents(object):
|
|||||||
rather than ``@module.event('1001')``
|
rather than ``@module.event('1001')``
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
usednumbers = []
|
||||||
|
|
||||||
BOT_WELCOME = '1001'
|
BOT_WELCOME = '1001'
|
||||||
BOT_READY = '1002'
|
BOT_READY = '1002'
|
||||||
BOT_CONNECTED = '1003'
|
BOT_CONNECTED = '1003'
|
||||||
BOT_LOADED = '1004'
|
BOT_LOADED = '1004'
|
||||||
|
|
||||||
|
def __getattr__(self, name):
|
||||||
|
if hasattr(self, name):
|
||||||
|
return self.__getattribute__(name)
|
||||||
|
else:
|
||||||
|
eventnumber = 0
|
||||||
|
while not eventnumber and eventnumber not in self.usednumbers:
|
||||||
|
eventnumber = randint(2000, 9999)
|
||||||
|
exec("self." + str(name).upper() + " = " + str(eventnumber))
|
||||||
|
return eventnumber
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user