boombox_plugin v1.3

This commit is contained in:
.[d]. 2022-07-25 12:17:53 -05:00
parent c728bf8877
commit d04105f51f

@ -10,7 +10,6 @@ from typing import Type
import random import random
import string import string
import os import os
import ipdb
######################################################################################################### THE ASCII LOGO TO BE USED ######################################################################################################### THE ASCII LOGO TO BE USED
MOTD=""" MOTD="""
_________ _________ _________ ___ ___ _________ _________ ____ ____ _________ _________ _________ ___ ___ _________ _________ ____ ____
@ -84,14 +83,14 @@ class Plugin:
msg+=f"{c[2]}url{c[1]}{c[3]}{url}" msg+=f"{c[2]}url{c[1]}{c[3]}{url}"
else: else:
msg+=f"{c[2]}error{c[1]}: {c[3]}{token} is an invalid token" msg+=f"{c[2]}error{c[1]}: {c[3]}{token} is an invalid token"
self.bot.privmsg(target,self.bot.emo(msg)) self.bot.privmsg(target,self.bot.emo(msg))
##################################################################################################### BOOMBOX MAIN 2 ##################################################################################################### BOOMBOX MAIN 2
@command(permission='view') @command(permission='view')
def boombox(self, mask, target, args): def boombox(self, mask, target, args):
"""boombox - usage: ?boombox top, ?boombox last, ?boombox user, ?boombox site, ?boombox all """boombox
%%boombox <command>... %%boombox
""" """
command=' '.join(args['<command>']).lower() command='all' #' '.join(args['<command>']).lower()
########################################################################### ###########################################################################
commands=['top','last','user','site','all'] commands=['top','last','user','site','all']
########################################################################### ###########################################################################
@ -155,9 +154,8 @@ class Plugin:
# LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST # LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST SONGS LAST
msg=f'OLD SONGS ◸{c2}◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸' msg=f'OLD SONGS ◸{c2}◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸◹◸'
self.bot.privmsg(target,msg) self.bot.privmsg(target,msg)
bbs_data=self.bot.db.getlist('bbs_data') bbs_data=self.bot.db.getlist('bbs_data')
try: try:
ipdb.set_trace()
count=0 count=0
for i,lastdb in enumerate(bbs_last): for i,lastdb in enumerate(bbs_last):
nick=lastdb[0] nick=lastdb[0]
@ -196,7 +194,7 @@ class Plugin:
bbs_nicks=self.bot.db.getlist("bbs_nicks") bbs_nicks=self.bot.db.getlist("bbs_nicks")
top_nicks=list(bbs_nicks[0].keys()) top_nicks=list(bbs_nicks[0].keys())
top_users_tally=[]; top_users=[] top_users_tally=[]; top_users=[]
for _ in [ x for x in bbs_nicks[0] ]: for _ in [ x for x in bbs_nicks[0] ]:
top_users_tally.append(bbs_nicks[0][_]['tally']) top_users_tally.append(bbs_nicks[0][_]['tally'])
for _ in [ x for x in bbs_nicks[0] ]: for _ in [ x for x in bbs_nicks[0] ]:
top_users.append(_) top_users.append(_)
@ -237,13 +235,13 @@ class Plugin:
self.bot.privmsg(target,msg) self.bot.privmsg(target,msg)
bbs_nicks=self.bot.db.getlist('bbs_nicks') bbs_nicks=self.bot.db.getlist('bbs_nicks')
site_nicks=list(bbs_nicks[0].keys()) site_nicks=list(bbs_nicks[0].keys())
site_users_bandcamp=[]; site_users_soundcloud=[]; site_users_bandcamp=[]; site_users_soundcloud=[];
site_users_youtube=[]; site_users_spotify=[]; site_users_youtube=[]; site_users_spotify=[];
for _ in [ x for x in site_nicks ]: for _ in [ x for x in site_nicks ]:
site_users_bandcamp.append([bbs_nicks[0][_]['bandcamp'],_]) site_users_bandcamp.append([bbs_nicks[0][_]['bandcamp'],_])
site_users_soundcloud.append([bbs_nicks[0][_]['soundcloud'],_]) site_users_soundcloud.append([bbs_nicks[0][_]['soundcloud'],_])
site_users_youtube.append([bbs_nicks[0][_]['youtube'],_]) site_users_youtube.append([bbs_nicks[0][_]['youtube'],_])
site_users_spotify.append([bbs_nicks[0][_]['spotify'],_]) site_users_spotify.append([bbs_nicks[0][_]['spotify'],_])
site_users_bandcamp.sort(); site_users_bandcamp.reverse() site_users_bandcamp.sort(); site_users_bandcamp.reverse()
site_users_soundcloud.sort(); site_users_soundcloud.reverse() site_users_soundcloud.sort(); site_users_soundcloud.reverse()
site_users_youtube.sort(); site_users_youtube.reverse() site_users_youtube.sort(); site_users_youtube.reverse()
@ -268,7 +266,7 @@ class Plugin:
soundcloud_top_user_hits=[] soundcloud_top_user_hits=[]
for i,_ in enumerate(bbs_data): for i,_ in enumerate(bbs_data):
if _['site']=='soundcloud': if _['site']=='soundcloud':
soundcloud_top_user_hits.append(f'{_["hits"]},{i}') soundcloud_top_user_hits.append(f'{_["hits"]},{i}')
soundcloud_top_user_hits.sort() soundcloud_top_user_hits.sort()
soundcloud_top_user_hits.reverse() soundcloud_top_user_hits.reverse()
soundcloud_index=int(soundcloud_top_user_hits[0].split(',')[1]) soundcloud_index=int(soundcloud_top_user_hits[0].split(',')[1])
@ -323,7 +321,7 @@ class Plugin:
for _ in siteorder: for _ in siteorder:
if invertedsites[_]=='soundcloud': if invertedsites[_]=='soundcloud':
msg=f'{c4}{self.bot.bbs.tailor(site_soundcloud[0].lower(),50)} {c1}{c3}{self.bot.bbs.tailor(site_soundcloud[1].lower(),10)} {c1}{c8}{self.bot.bbs.tailor(site_soundcloud[2].lower(),10)} {c1}{c7}{str(site_soundcloud[3]).zfill(2)}{c1}/{c7}{str(site_soundcloud[4]).zfill(2)} {c6}plays {c1}{c5}?bb {site_soundcloud[5]}' msg=f'{c4}{self.bot.bbs.tailor(site_soundcloud[0].lower(),50)} {c1}{c3}{self.bot.bbs.tailor(site_soundcloud[1].lower(),10)} {c1}{c8}{self.bot.bbs.tailor(site_soundcloud[2].lower(),10)} {c1}{c7}{str(site_soundcloud[3]).zfill(2)}{c1}/{c7}{str(site_soundcloud[4]).zfill(2)} {c6}plays {c1}{c5}?bb {site_soundcloud[5]}'
self.bot.privmsg(target, msg) self.bot.privmsg(target, msg)
elif invertedsites[_]=='bandcamp': elif invertedsites[_]=='bandcamp':
msg=f'{c4}{self.bot.bbs.tailor(site_bandcamp[0].lower(),50)} {c1}{c3}{self.bot.bbs.tailor(site_bandcamp[1].lower(),10)} {c1}{c8}{self.bot.bbs.tailor(site_bandcamp[2].lower(),10)} {c1}{c7}{str(site_bandcamp[3]).zfill(2)}{c1}/{c7}{str(site_bandcamp[4]).zfill(2)} {c6}plays {c1}{c5}?bb {site_bandcamp[5]}' msg=f'{c4}{self.bot.bbs.tailor(site_bandcamp[0].lower(),50)} {c1}{c3}{self.bot.bbs.tailor(site_bandcamp[1].lower(),10)} {c1}{c8}{self.bot.bbs.tailor(site_bandcamp[2].lower(),10)} {c1}{c7}{str(site_bandcamp[3]).zfill(2)}{c1}/{c7}{str(site_bandcamp[4]).zfill(2)} {c6}plays {c1}{c5}?bb {site_bandcamp[5]}'
self.bot.privmsg(target, msg) self.bot.privmsg(target, msg)
@ -400,7 +398,7 @@ class BOOMBOX_CONFIG:
##################################################################################################### BOOMBOX CONFIG TEXT ALIGNMENTS ##################################################################################################### BOOMBOX CONFIG TEXT ALIGNMENTS
def tailor(self,s,n): def tailor(self,s,n):
if len(s)<=n: if len(s)<=n:
result=s+" "*(n-len(s)) result=s+"."*(n-len(s))
return result return result
else: else:
return s[0:n] return s[0:n]
@ -637,7 +635,7 @@ class BOOMBOX_CONFIG:
############################################# #############################################
print(f'\t\t- creating database{" "*10}{index+1}/{len(self.database_names)} - {self.database_names[index]}') print(f'\t\t- creating database{" "*10}{index+1}/{len(self.database_names)} - {self.database_names[index]}')
automation_flag=False automation_flag=False
######################################################################## database: 0/5 - bbs_data ######################################################################## database: 0/5 - bbs_data
if database_name==self.database_names[0]: if database_name==self.database_names[0]:
############################################################################################# #############################################################################################
try: try:
@ -654,7 +652,7 @@ class BOOMBOX_CONFIG:
try: try:
db=[] db=[]
for _ in range(0,self.bot.bbs.ceiling__last_songs): for _ in range(0,self.bot.bbs.ceiling__last_songs):
db.append('') db.append('')
db.pop() db.pop()
db.append(["dr1p","soundcloud","fenix flexin - 10 toes ( dr1ph0p m1x )","06660","https://soundcloud.com/vanta_sec/fenix-flexin-10-toes-dr1ph0p-m1x"]) db.append(["dr1p","soundcloud","fenix flexin - 10 toes ( dr1ph0p m1x )","06660","https://soundcloud.com/vanta_sec/fenix-flexin-10-toes-dr1ph0p-m1x"])
db.reverse() db.reverse()
@ -677,7 +675,7 @@ class BOOMBOX_CONFIG:
########################################################################database: 3/5 - bbs_sites ########################################################################database: 3/5 - bbs_sites
elif database_name==self.database_names[3]: elif database_name==self.database_names[3]:
############################################################################################# #############################################################################################
try: try:
db=[] db=[]
db.append({'soundcloud':1,'youtube':0,'spotify':0,'bandcamp':0}) db.append({'soundcloud':1,'youtube':0,'spotify':0,'bandcamp':0})
self.bot.db.setlist(database_name,db) self.bot.db.setlist(database_name,db)
@ -714,6 +712,6 @@ class BOOMBOX_CONFIG:
else: else:
status='\t\t- failure' status='\t\t- failure'
print(f'{status}: {msg}') print(f'{status}: {msg}')
################################################################################################# #################################################################################################
################################################################################################# EOF ################################################################################################# EOF
##################################################################################################### EOF ##################################################################################################### EOF