mirror of
https://github.com/SpiceBot/SpiceBot.git
synced 2026-11-13 15:09:54 -05:00
Startuyp Monologue
This commit is contained in:
parent
af0bb39c75
commit
1a83ca6049
@ -22,17 +22,17 @@ def configure(config):
|
|||||||
|
|
||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
stderr("[Sopel-CommandsQuery] Evaluating Core Commands List")
|
stderr("[SpiceBot_CommandsQuery] Evaluating Core Commands List")
|
||||||
|
|
||||||
threading.Thread(target=setup_thread, args=(bot,)).start()
|
threading.Thread(target=setup_thread, args=(bot,)).start()
|
||||||
|
|
||||||
|
|
||||||
def setup_thread(bot):
|
def setup_thread(bot):
|
||||||
|
|
||||||
bot.memory['Sopel-CommandsQuery'] = dict()
|
bot.memory['SpiceBot_CommandsQuery'] = dict()
|
||||||
for comtype in ['module', 'nickname', 'rule']:
|
for comtype in ['module', 'nickname', 'rule']:
|
||||||
bot.memory['Sopel-CommandsQuery'][comtype + "_commands"] = dict()
|
bot.memory['SpiceBot_CommandsQuery'][comtype + "_commands"] = dict()
|
||||||
bot.memory['Sopel-CommandsQuery'][comtype + "_commands_count"] = 0
|
bot.memory['SpiceBot_CommandsQuery'][comtype + "_commands_count"] = 0
|
||||||
|
|
||||||
filepathlisting = []
|
filepathlisting = []
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ def setup_thread(bot):
|
|||||||
pypi_modules_dir = os.path.join(plugin_dir, pathname)
|
pypi_modules_dir = os.path.join(plugin_dir, pathname)
|
||||||
filepathlisting.append(pypi_modules_dir)
|
filepathlisting.append(pypi_modules_dir)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
stderr("[Sopel-CommandsQuery] sopel_modules not loaded :" + str(e))
|
stderr("[SpiceBot_CommandsQuery] sopel_modules not loaded :" + str(e))
|
||||||
|
|
||||||
# Extra directories
|
# Extra directories
|
||||||
filepathlist = []
|
filepathlist = []
|
||||||
@ -127,7 +127,7 @@ def setup_thread(bot):
|
|||||||
|
|
||||||
comtypedict = str(comtype + "_commands")
|
comtypedict = str(comtype + "_commands")
|
||||||
|
|
||||||
bot.memory['Sopel-CommandsQuery'][comtypedict + "_count"] += 1
|
bot.memory['SpiceBot_CommandsQuery'][comtypedict + "_count"] += 1
|
||||||
|
|
||||||
# default command to filename
|
# default command to filename
|
||||||
if "validcoms" not in dict_from_file.keys():
|
if "validcoms" not in dict_from_file.keys():
|
||||||
@ -139,21 +139,21 @@ def setup_thread(bot):
|
|||||||
else:
|
else:
|
||||||
comaliases = []
|
comaliases = []
|
||||||
|
|
||||||
bot.memory['Sopel-CommandsQuery'][comtypedict][maincom] = dict_from_file
|
bot.memory['SpiceBot_CommandsQuery'][comtypedict][maincom] = dict_from_file
|
||||||
for comalias in comaliases:
|
for comalias in comaliases:
|
||||||
if comalias not in bot.memory['Sopel-CommandsQuery'][comtypedict].keys():
|
if comalias not in bot.memory['SpiceBot_CommandsQuery'][comtypedict].keys():
|
||||||
bot.memory['Sopel-CommandsQuery'][comtypedict][comalias] = {"aliasfor": maincom}
|
bot.memory['SpiceBot_CommandsQuery'][comtypedict][comalias] = {"aliasfor": maincom}
|
||||||
|
|
||||||
for comtype in ['module_commands', 'nickname_commands', 'rule_commands']:
|
for comtype in ['module_commands', 'nickname_commands', 'rule_commands']:
|
||||||
stderr("[Sopel-CommandsQuery] Found " + str(len(bot.memory['Sopel-CommandsQuery'][comtype].keys())) + " " + comtype + " commands.")
|
stderr("[SpiceBot_CommandsQuery] Found " + str(len(bot.memory['SpiceBot_CommandsQuery'][comtype].keys())) + " " + comtype + " commands.")
|
||||||
|
|
||||||
set_bot_event(bot, "Sopel-CommandsQuery")
|
set_bot_event(bot, "SpiceBot_CommandsQuery")
|
||||||
|
|
||||||
|
|
||||||
@sopel.module.rule('^\?(.*)')
|
@sopel.module.rule('^\?(.*)')
|
||||||
def query_detection(bot, trigger):
|
def query_detection(bot, trigger):
|
||||||
|
|
||||||
while "Sopel-CommandsQuery" not in bot.memory:
|
while "SpiceBot_CommandsQuery" not in bot.memory:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# command must start with
|
# command must start with
|
||||||
@ -161,11 +161,11 @@ def query_detection(bot, trigger):
|
|||||||
return
|
return
|
||||||
|
|
||||||
commands_list = dict()
|
commands_list = dict()
|
||||||
for commandstype in bot.memory['Sopel-CommandsQuery'].keys():
|
for commandstype in bot.memory['SpiceBot_CommandsQuery'].keys():
|
||||||
if not commandstype.endswith("_count"):
|
if not commandstype.endswith("_count"):
|
||||||
for com in bot.memory['Sopel-CommandsQuery'][commandstype].keys():
|
for com in bot.memory['SpiceBot_CommandsQuery'][commandstype].keys():
|
||||||
if com not in commands_list.keys():
|
if com not in commands_list.keys():
|
||||||
commands_list[com] = bot.memory['Sopel-CommandsQuery'][commandstype][com]
|
commands_list[com] = bot.memory['SpiceBot_CommandsQuery'][commandstype][com]
|
||||||
|
|
||||||
triggerargsarray = spicemanip.main(trigger, 'create')
|
triggerargsarray = spicemanip.main(trigger, 'create')
|
||||||
|
|
||||||
@ -237,13 +237,13 @@ def commandsquery_register(bot, command_type, validcoms, aliasfor=None):
|
|||||||
if not isinstance(validcoms, list):
|
if not isinstance(validcoms, list):
|
||||||
validcoms = [validcoms]
|
validcoms = [validcoms]
|
||||||
|
|
||||||
if 'Sopel-CommandsQuery' not in bot.memory:
|
if 'SpiceBot_CommandsQuery' not in bot.memory:
|
||||||
bot.memory['Sopel-CommandsQuery'] = dict()
|
bot.memory['SpiceBot_CommandsQuery'] = dict()
|
||||||
|
|
||||||
if command_type not in bot.memory['Sopel-CommandsQuery'].keys():
|
if command_type not in bot.memory['SpiceBot_CommandsQuery'].keys():
|
||||||
bot.memory['Sopel-CommandsQuery'][command_type] = dict()
|
bot.memory['SpiceBot_CommandsQuery'][command_type] = dict()
|
||||||
bot.memory['Sopel-CommandsQuery'][command_type + "_count"] = 0
|
bot.memory['SpiceBot_CommandsQuery'][command_type + "_count"] = 0
|
||||||
bot.memory['Sopel-CommandsQuery'][command_type + "_count"] += 1
|
bot.memory['SpiceBot_CommandsQuery'][command_type + "_count"] += 1
|
||||||
|
|
||||||
dict_from_file = dict()
|
dict_from_file = dict()
|
||||||
|
|
||||||
@ -258,10 +258,10 @@ def commandsquery_register(bot, command_type, validcoms, aliasfor=None):
|
|||||||
comaliases = spicemanip.main(dict_from_file["validcoms"], '2+', 'list')
|
comaliases = spicemanip.main(dict_from_file["validcoms"], '2+', 'list')
|
||||||
else:
|
else:
|
||||||
comaliases = []
|
comaliases = []
|
||||||
bot.memory['Sopel-CommandsQuery'][command_type][maincom] = dict_from_file
|
bot.memory['SpiceBot_CommandsQuery'][command_type][maincom] = dict_from_file
|
||||||
else:
|
else:
|
||||||
comaliases = validcoms
|
comaliases = validcoms
|
||||||
|
|
||||||
for comalias in comaliases:
|
for comalias in comaliases:
|
||||||
if comalias not in bot.memory['Sopel-CommandsQuery'][command_type].keys():
|
if comalias not in bot.memory['SpiceBot_CommandsQuery'][command_type].keys():
|
||||||
bot.memory['Sopel-CommandsQuery'][command_type][comalias] = {"aliasfor": aliasfor}
|
bot.memory['SpiceBot_CommandsQuery'][command_type][comalias] = {"aliasfor": aliasfor}
|
||||||
|
|||||||
@ -16,7 +16,7 @@ import spicemanip
|
|||||||
@module.commands('gif')
|
@module.commands('gif')
|
||||||
def gif_trigger(bot, trigger):
|
def gif_trigger(bot, trigger):
|
||||||
|
|
||||||
while "Sopel-GifSearch" not in bot.memory:
|
while "SpiceBot_GifSearch" not in bot.memory:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
triggerargs = sopel_triggerargs(bot, trigger)
|
triggerargs = sopel_triggerargs(bot, trigger)
|
||||||
@ -24,7 +24,7 @@ def gif_trigger(bot, trigger):
|
|||||||
return bot.osd("Please present a query to search.")
|
return bot.osd("Please present a query to search.")
|
||||||
|
|
||||||
query = spicemanip.main(triggerargs, 0)
|
query = spicemanip.main(triggerargs, 0)
|
||||||
searchapis = bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys()
|
searchapis = bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys()
|
||||||
searchdict = {"query": query, "gifsearch": searchapis}
|
searchdict = {"query": query, "gifsearch": searchapis}
|
||||||
|
|
||||||
gifdict = getGif(bot, searchdict)
|
gifdict = getGif(bot, searchdict)
|
||||||
|
|||||||
@ -16,12 +16,12 @@ from sopel_modules.SpiceBot_SBTools import sopel_triggerargs
|
|||||||
@sopel.module.commands('(.*)')
|
@sopel.module.commands('(.*)')
|
||||||
def gifapi_triggers(bot, trigger):
|
def gifapi_triggers(bot, trigger):
|
||||||
|
|
||||||
while "Sopel-GifSearch" not in bot.memory:
|
while "SpiceBot_GifSearch" not in bot.memory:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
triggerargs, prefixcommand = sopel_triggerargs(bot, trigger, 'prefix_command')
|
triggerargs, prefixcommand = sopel_triggerargs(bot, trigger, 'prefix_command')
|
||||||
|
|
||||||
if prefixcommand not in bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys():
|
if prefixcommand not in bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys():
|
||||||
return
|
return
|
||||||
|
|
||||||
if triggerargs == []:
|
if triggerargs == []:
|
||||||
|
|||||||
@ -41,11 +41,11 @@ class GifAPISection(StaticSection):
|
|||||||
def configure(config):
|
def configure(config):
|
||||||
moduledir = os.path.dirname(os.path.abspath(__file__))
|
moduledir = os.path.dirname(os.path.abspath(__file__))
|
||||||
api_dir = os.path.join(moduledir, 'gifapi')
|
api_dir = os.path.join(moduledir, 'gifapi')
|
||||||
valid_gif_api_dict = read_directory_json_to_dict([api_dir], "Gif API", "[Sopel-GifSearch] ")
|
valid_gif_api_dict = read_directory_json_to_dict([api_dir], "Gif API", "[SpiceBot_GifSearch] ")
|
||||||
|
|
||||||
config.define_section("SopelGifSearch", GifAPIMainSection, validate=False)
|
config.define_section("SopelGifSearch", GifAPIMainSection, validate=False)
|
||||||
config.SopelGifSearch.configure_setting('extra', 'Sopel-GifSearch API Extra directory')
|
config.SopelGifSearch.configure_setting('extra', 'SpiceBot_GifSearch API Extra directory')
|
||||||
config.SopelGifSearch.configure_setting('nsfw', 'Sopel-GifSearch API nsfw content')
|
config.SopelGifSearch.configure_setting('nsfw', 'SpiceBot_GifSearch API nsfw content')
|
||||||
|
|
||||||
for gif_api in valid_gif_api_dict.keys():
|
for gif_api in valid_gif_api_dict.keys():
|
||||||
config.define_section(gif_api, GifAPISection, validate=False)
|
config.define_section(gif_api, GifAPISection, validate=False)
|
||||||
@ -55,14 +55,14 @@ def configure(config):
|
|||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
|
|
||||||
stderr("[Sopel-GifSearch] Starting Setup Procedure")
|
stderr("[SpiceBot_GifSearch] Starting Setup Procedure")
|
||||||
|
|
||||||
threading.Thread(target=setup_thread, args=(bot,)).start()
|
threading.Thread(target=setup_thread, args=(bot,)).start()
|
||||||
|
|
||||||
|
|
||||||
def setup_thread(bot):
|
def setup_thread(bot):
|
||||||
|
|
||||||
bot.memory["Sopel-GifSearch"] = {"cache": {}, "badgiflinks": [], 'valid_gif_api_dict': {}}
|
bot.memory["SpiceBot_GifSearch"] = {"cache": {}, "badgiflinks": [], 'valid_gif_api_dict': {}}
|
||||||
|
|
||||||
dir_to_scan = []
|
dir_to_scan = []
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ def setup_thread(bot):
|
|||||||
if bot.config.SopelGifSearch.extra:
|
if bot.config.SopelGifSearch.extra:
|
||||||
dir_to_scan.append(bot.config.SopelGifSearch.extra)
|
dir_to_scan.append(bot.config.SopelGifSearch.extra)
|
||||||
|
|
||||||
valid_gif_api_dict = read_directory_json_to_dict(dir_to_scan, "Gif API", "[Sopel-GifSearch] ")
|
valid_gif_api_dict = read_directory_json_to_dict(dir_to_scan, "Gif API", "[SpiceBot_GifSearch] ")
|
||||||
|
|
||||||
for gif_api in valid_gif_api_dict.keys():
|
for gif_api in valid_gif_api_dict.keys():
|
||||||
bot.config.define_section(gif_api, GifAPISection, validate=False)
|
bot.config.define_section(gif_api, GifAPISection, validate=False)
|
||||||
@ -83,17 +83,17 @@ def setup_thread(bot):
|
|||||||
valid_gif_api_dict[gif_api]["apikey"] = apikey
|
valid_gif_api_dict[gif_api]["apikey"] = apikey
|
||||||
else:
|
else:
|
||||||
valid_gif_api_dict[gif_api]["apikey"] = None
|
valid_gif_api_dict[gif_api]["apikey"] = None
|
||||||
bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][gif_api] = valid_gif_api_dict[gif_api]
|
bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][gif_api] = valid_gif_api_dict[gif_api]
|
||||||
|
|
||||||
set_bot_event(bot, "Sopel-GifSearch")
|
set_bot_event(bot, "SpiceBot_GifSearch")
|
||||||
|
|
||||||
while 'Sopel-CommandsQuery' not in bot.memory:
|
while 'SpiceBot_CommandsQuery' not in bot.memory:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
for prefix_command in bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys():
|
for prefix_command in bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys():
|
||||||
commandsquery_register(bot, "prefix_command", prefix_command)
|
commandsquery_register(bot, "prefix_command", prefix_command)
|
||||||
|
|
||||||
stderr("[Sopel-CommandsQuery] Found " + str(len(bot.memory['Sopel-CommandsQuery']["prefix_command"].keys())) + " " + "prefix_command" + " commands.")
|
stderr("[SpiceBot_CommandsQuery] Found " + str(len(bot.memory['SpiceBot_CommandsQuery']["prefix_command"].keys())) + " " + "prefix_command" + " commands.")
|
||||||
|
|
||||||
|
|
||||||
@sopel.module.commands('gif')
|
@sopel.module.commands('gif')
|
||||||
@ -103,7 +103,7 @@ def gif_trigger(bot, trigger):
|
|||||||
return bot.osd("Please present a query to search.")
|
return bot.osd("Please present a query to search.")
|
||||||
|
|
||||||
query = spicemanip.main(trigger.args[1], 0)
|
query = spicemanip.main(trigger.args[1], 0)
|
||||||
searchapis = bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys()
|
searchapis = bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys()
|
||||||
searchdict = {"query": query, "gifsearch": searchapis}
|
searchdict = {"query": query, "gifsearch": searchapis}
|
||||||
|
|
||||||
gifdict = getGif(bot, searchdict)
|
gifdict = getGif(bot, searchdict)
|
||||||
@ -139,7 +139,7 @@ def getGif(bot, searchdict):
|
|||||||
query_defaults = {
|
query_defaults = {
|
||||||
"query": None,
|
"query": None,
|
||||||
"searchnum": 'random',
|
"searchnum": 'random',
|
||||||
"gifsearch": bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys(),
|
"gifsearch": bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys(),
|
||||||
"gifsearchremove": ['gifme'],
|
"gifsearchremove": ['gifme'],
|
||||||
"searchlimit": 'default',
|
"searchlimit": 'default',
|
||||||
"nsfw": False,
|
"nsfw": False,
|
||||||
@ -164,13 +164,13 @@ def getGif(bot, searchdict):
|
|||||||
|
|
||||||
# set api usage
|
# set api usage
|
||||||
if not isinstance(searchdict['gifsearch'], list):
|
if not isinstance(searchdict['gifsearch'], list):
|
||||||
if str(searchdict['gifsearch']) in bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys():
|
if str(searchdict['gifsearch']) in bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys():
|
||||||
searchdict['gifsearch'] = [searchdict['gifsearch']]
|
searchdict['gifsearch'] = [searchdict['gifsearch']]
|
||||||
else:
|
else:
|
||||||
searchdict['gifsearch'] = bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys()
|
searchdict['gifsearch'] = bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys()
|
||||||
else:
|
else:
|
||||||
for apis in searchdict['gifsearch']:
|
for apis in searchdict['gifsearch']:
|
||||||
if apis not in bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'].keys():
|
if apis not in bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'].keys():
|
||||||
searchdict['gifsearch'].remove(apis)
|
searchdict['gifsearch'].remove(apis)
|
||||||
|
|
||||||
# Verify search limit
|
# Verify search limit
|
||||||
@ -192,26 +192,26 @@ def getGif(bot, searchdict):
|
|||||||
for currentapi in searchdict['gifsearch']:
|
for currentapi in searchdict['gifsearch']:
|
||||||
|
|
||||||
# url base
|
# url base
|
||||||
url = str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['url'])
|
url = str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['url'])
|
||||||
# query
|
# query
|
||||||
url += str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['query']) + str(searchdict["searchquery"])
|
url += str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['query']) + str(searchdict["searchquery"])
|
||||||
# limit
|
# limit
|
||||||
url += str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['limit']) + str(searchdict["searchlimit"])
|
url += str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['limit']) + str(searchdict["searchlimit"])
|
||||||
# nsfw search?
|
# nsfw search?
|
||||||
if searchdict['nsfw']:
|
if searchdict['nsfw']:
|
||||||
url += str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['nsfw'])
|
url += str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['nsfw'])
|
||||||
else:
|
else:
|
||||||
url += str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['sfw'])
|
url += str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['sfw'])
|
||||||
# api key
|
# api key
|
||||||
url += str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['key']) + str(bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['apikey'])
|
url += str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['key']) + str(bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['apikey'])
|
||||||
|
|
||||||
if currentapi not in bot.memory["Sopel-GifSearch"]['cache'].keys():
|
if currentapi not in bot.memory["SpiceBot_GifSearch"]['cache'].keys():
|
||||||
bot.memory["Sopel-GifSearch"]['cache'][currentapi] = dict()
|
bot.memory["SpiceBot_GifSearch"]['cache'][currentapi] = dict()
|
||||||
|
|
||||||
if str(searchdict["searchquery"]) not in bot.memory["Sopel-GifSearch"]['cache'][currentapi].keys():
|
if str(searchdict["searchquery"]) not in bot.memory["SpiceBot_GifSearch"]['cache'][currentapi].keys():
|
||||||
bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] = []
|
bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] = []
|
||||||
|
|
||||||
if bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] == []:
|
if bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] == []:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
page = requests.get(url, headers=header)
|
page = requests.get(url, headers=header)
|
||||||
@ -222,11 +222,11 @@ def getGif(bot, searchdict):
|
|||||||
|
|
||||||
data = json.loads(urllib.request.urlopen(url).read().decode('utf-8'))
|
data = json.loads(urllib.request.urlopen(url).read().decode('utf-8'))
|
||||||
|
|
||||||
results = data[bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['results']]
|
results = data[bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['results']]
|
||||||
resultsarray = []
|
resultsarray = []
|
||||||
for result in results:
|
for result in results:
|
||||||
appendresult = False
|
appendresult = False
|
||||||
cururl = result[bot.memory["Sopel-GifSearch"]['valid_gif_api_dict'][currentapi]['cururl']]
|
cururl = result[bot.memory["SpiceBot_GifSearch"]['valid_gif_api_dict'][currentapi]['cururl']]
|
||||||
slashsplit = str(cururl).split("/")
|
slashsplit = str(cururl).split("/")
|
||||||
fileextension = slashsplit[-1]
|
fileextension = slashsplit[-1]
|
||||||
if not fileextension or fileextension == '':
|
if not fileextension or fileextension == '':
|
||||||
@ -244,23 +244,23 @@ def getGif(bot, searchdict):
|
|||||||
# Create Temp dict for every result
|
# Create Temp dict for every result
|
||||||
tempresultnum = 0
|
tempresultnum = 0
|
||||||
for tempresult in resultsarray:
|
for tempresult in resultsarray:
|
||||||
if tempresult not in bot.memory["Sopel-GifSearch"]["badgiflinks"]:
|
if tempresult not in bot.memory["SpiceBot_GifSearch"]["badgiflinks"]:
|
||||||
tempresultnum += 1
|
tempresultnum += 1
|
||||||
tempdict = dict()
|
tempdict = dict()
|
||||||
tempdict["returnnum"] = tempresultnum
|
tempdict["returnnum"] = tempresultnum
|
||||||
tempdict["returnurl"] = tempresult
|
tempdict["returnurl"] = tempresult
|
||||||
tempdict["gifapi"] = currentapi
|
tempdict["gifapi"] = currentapi
|
||||||
bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])].append(tempdict)
|
bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])].append(tempdict)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
verifygoodlinks = []
|
verifygoodlinks = []
|
||||||
for gifresult in bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])]:
|
for gifresult in bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])]:
|
||||||
if gifresult["returnurl"] not in bot.memory["Sopel-GifSearch"]["badgiflinks"]:
|
if gifresult["returnurl"] not in bot.memory["SpiceBot_GifSearch"]["badgiflinks"]:
|
||||||
verifygoodlinks.append(gifresult)
|
verifygoodlinks.append(gifresult)
|
||||||
bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] = verifygoodlinks
|
bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] = verifygoodlinks
|
||||||
|
|
||||||
if bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] != []:
|
if bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])] != []:
|
||||||
gifapiresults.extend(bot.memory["Sopel-GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])])
|
gifapiresults.extend(bot.memory["SpiceBot_GifSearch"]['cache'][currentapi][str(searchdict["searchquery"])])
|
||||||
|
|
||||||
if gifapiresults == []:
|
if gifapiresults == []:
|
||||||
return {"error": "No Results were found for '" + searchdict["query"] + "' in the " + str(spicemanip.main(searchdict['gifsearch'], 'orlist')) + " api(s)"}
|
return {"error": "No Results were found for '" + searchdict["query"] + "' in the " + str(spicemanip.main(searchdict['gifsearch'], 'orlist')) + " api(s)"}
|
||||||
@ -279,7 +279,7 @@ def getGif(bot, searchdict):
|
|||||||
if gifpage and not str(gifpage.status_code).startswith(tuple(["4", "5"])):
|
if gifpage and not str(gifpage.status_code).startswith(tuple(["4", "5"])):
|
||||||
randombad = False
|
randombad = False
|
||||||
else:
|
else:
|
||||||
bot.memory["Sopel-GifSearch"]["badgiflinks"].append(gifdict["returnurl"])
|
bot.memory["SpiceBot_GifSearch"]["badgiflinks"].append(gifdict["returnurl"])
|
||||||
newlist = []
|
newlist = []
|
||||||
for tempdict in gifapiresults:
|
for tempdict in gifapiresults:
|
||||||
if tempdict["returnurl"] != gifdict["returnurl"]:
|
if tempdict["returnurl"] != gifdict["returnurl"]:
|
||||||
|
|||||||
74
sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py
Normal file
74
sopel_modules/SpiceBot_StartupMonologue/StartupMonologue.py
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# coding=utf-8
|
||||||
|
|
||||||
|
from __future__ import unicode_literals, absolute_import, division, print_function
|
||||||
|
|
||||||
|
from sopel import module
|
||||||
|
from sopel.tools import stderr
|
||||||
|
|
||||||
|
import sopel_modules.osd
|
||||||
|
|
||||||
|
|
||||||
|
from sopel_modules.SpiceBot_Botevents.BotEvents import set_bot_event, bot_startup_requirements_met, check_bot_events
|
||||||
|
|
||||||
|
from sopel_modules.SpiceBot_CommandsQuery.CommandsQuery import commandsquery_register
|
||||||
|
|
||||||
|
|
||||||
|
def configure(config):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def setup(bot):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@module.event('001')
|
||||||
|
@module.rule('.*')
|
||||||
|
@module.thread(True)
|
||||||
|
def bot_startup_monologue(bot, trigger):
|
||||||
|
|
||||||
|
while not check_bot_events(bot, ["connected"]):
|
||||||
|
pass
|
||||||
|
|
||||||
|
if bot_startup_requirements_met(bot, ["SpiceBot_StartupMonologue"]):
|
||||||
|
startup_reconnect(bot, trigger)
|
||||||
|
else:
|
||||||
|
startup_fresh(bot, trigger)
|
||||||
|
|
||||||
|
|
||||||
|
def startup_fresh(bot, trigger):
|
||||||
|
|
||||||
|
# Startup
|
||||||
|
stderr("[SpiceBot_StartupMonologue] " + bot.nick + " is now starting. Please wait while I load my configuration.")
|
||||||
|
bot.osd(" is now starting. Please wait while I load my configuration.", bot.channels.keys(), 'ACTION')
|
||||||
|
|
||||||
|
startupcomplete = [bot.nick + " startup complete"]
|
||||||
|
|
||||||
|
while not check_bot_events(bot, ["SpiceBot_CommandsQuery"]):
|
||||||
|
pass
|
||||||
|
|
||||||
|
availablecomsnum, availablecomsfiles = 0, 0
|
||||||
|
|
||||||
|
for commandstype in bot.memory['SpiceBot_CommandsQuery'].keys():
|
||||||
|
if commandstype.endswith("_count"):
|
||||||
|
availablecomsfiles += bot.memory['SpiceBot_CommandsQuery'][commandstype]
|
||||||
|
else:
|
||||||
|
availablecomsnum += len(bot.memory['SpiceBot_CommandsQuery'][commandstype].keys())
|
||||||
|
|
||||||
|
startupcomplete.append("There are " + str(availablecomsnum) + " commands available in " + str(availablecomsfiles) + " files.")
|
||||||
|
stderr("[SpiceBot_StartupMonologue] " + "There are " + str(availablecomsnum) + " commands available in " + str(availablecomsfiles) + " files.")
|
||||||
|
|
||||||
|
while not check_bot_events(bot, ["startup_complete"]):
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Announce to chan, then handle some closing stuff
|
||||||
|
bot.osd(startupcomplete, bot.channels.keys())
|
||||||
|
stderr("[SpiceBot_StartupMonologue] " + bot.nick + " startup complete")
|
||||||
|
|
||||||
|
set_bot_event(bot, "SpiceBot_StartupMonologue")
|
||||||
|
|
||||||
|
|
||||||
|
def startup_reconnect(bot, trigger):
|
||||||
|
|
||||||
|
# Startup
|
||||||
|
stderr("[SpiceBot_StartupMonologue] " + bot.nick + " has reconnected.")
|
||||||
|
bot.osd(" has reconnected.", bot.channels.keys(), 'ACTION')
|
||||||
12
sopel_modules/SpiceBot_StartupMonologue/__init__.py
Normal file
12
sopel_modules/SpiceBot_StartupMonologue/__init__.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# coding=utf8
|
||||||
|
"""Sopel Startup Monologue
|
||||||
|
|
||||||
|
Sopel Startup Monologue displays to all channels that the bot is online
|
||||||
|
"""
|
||||||
|
from __future__ import unicode_literals, absolute_import, division, print_function
|
||||||
|
|
||||||
|
from .StartupMonologue import *
|
||||||
|
|
||||||
|
__author__ = 'Sam Zick'
|
||||||
|
__email__ = 'sam@deathbybandaid.net'
|
||||||
|
__version__ = '0.1.0'
|
||||||
Loading…
Reference in New Issue
Block a user