mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-10 21:50:59 -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
|
||||
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 (
|
||||
join_all_channels, chanadmin_all_channels, channel_list_current,
|
||||
@ -35,7 +35,6 @@ def configure(config):
|
||||
|
||||
def setup(bot):
|
||||
bot_logging(bot, 'SpiceBot_Channels', "Starting setup procedure")
|
||||
assign_event_number(bot, "BOT_CHANNELS")
|
||||
bot_events_startup_register(bot, [botevents.BOT_CHANNELS])
|
||||
|
||||
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):
|
||||
if "SpiceBot_Events" not in bot.memory:
|
||||
bot.memory["SpiceBot_Events"] = {"triggers": {}, "startup": [], "loaded": [], "queue": [],
|
||||
"usednumbers": [botevents.BOT_WELCOME, botevents.BOT_READY, botevents.BOT_CONNECTED, botevents.BOT_LOADED]}
|
||||
bot.memory["SpiceBot_Events"] = {"triggers": {}, "startup": [], "loaded": [], "queue": []}
|
||||
|
||||
|
||||
def bot_events_check(bot, listreq):
|
||||
@ -92,14 +91,6 @@ def bot_events_startup_check(bot):
|
||||
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):
|
||||
"""An dynamic listing of all the notable Bot numeric events.
|
||||
|
||||
@ -112,7 +103,19 @@ class botevents(object):
|
||||
rather than ``@module.event('1001')``
|
||||
"""
|
||||
|
||||
usednumbers = []
|
||||
|
||||
BOT_WELCOME = '1001'
|
||||
BOT_READY = '1002'
|
||||
BOT_CONNECTED = '1003'
|
||||
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