def OnOperatorCommand(nick, data): global _ # has to be global, because we assign it here if data[1:].startswith("tr_example "): lang = data[1 + len("tr_example "):] if lang == "en": # Reset translations to default English: _ = update_translation_strings(english_strings) vh.usermc(_("OK, English now!"), nick) elif lang == "de": # Load German from our local dictionary, but copy it first so it is not overwritten. # (Missing or bad strings would be replaced by English versions, and extra strings would be removed.) # If you don't care about german_strings being modified, you can leave out the ".copy()". # _ = update_translation_strings(english_strings, german_strings.copy(), use_translated=True) vh.usermc(_("OK, English now!"), nick) # This will show up in German! elif lang == "database": # Load whatever language is used in the strings stored in the database: _ = update_translation_strings(english_strings, db_table=translation_db_table) vh.usermc(_("OK, English now!"), nick) # Anything is possible here elif lang == "file": # Load whatever language is used in the translation file: _ = update_translation_strings(english_strings, filename=translation_file, create=False) vh.usermc(_("OK, English now!"), nick) # Anything is possible here else: vh.usermc(_("Sorry, but I speak only %s.") % "en, de, database, file", nick) return 0
def OnHubCommand(nick, clean_cmd, uclass, in_pm, cmd_prefix): if log(): print "%-45s" % "OnHubCommand (nick, clean_cmd, uclass, in_pm, cmd_prefix)", (nick, clean_cmd, uclass, in_pm, cmd_prefix); sys.stdout.flush() if uclass >= 5 : parts = clean_cmd.split(" ", 1) if parts[0] == my_command: arg = parts[1].strip() if len(parts) == 2 else "" vh.usermc(messages[process_command(arg)], nick) return 0
def OnUserCommand (nick, data): d = data.split() if d[0] == "+imdb": # vh.usermc(' '.join(d[1:]),nick) data = imdbdata('%20'.join(d[1:]),nick) vh.usermc(str(data),nick) return 0 elif d[0] == "+help" and d[1] == "imdb": vh.usermc("\nFor getting imdb info use +imdb <movie/series name> \n",nick) return 0
def OnUserCommand(nick, data): d = data.split() if d[0] == "+imdb": # vh.usermc(' '.join(d[1:]),nick) data = imdbdata('%20'.join(d[1:]), nick) vh.usermc(str(data), nick) return 0 elif d[0] == "+help" and d[1] == "imdb": vh.usermc("\nFor getting imdb info use +imdb <movie/series name> \n", nick) return 0
def OnHubCommand(nick, clean_cmd, uclass, in_pm, cmd_prefix): if log(): print "%-45s" % "OnHubCommand (nick, clean_cmd, uclass, in_pm, cmd_prefix)", ( nick, clean_cmd, uclass, in_pm, cmd_prefix, ) sys.stdout.flush() if uclass >= 5: parts = clean_cmd.split(" ", 1) if parts[0] == my_command: arg = parts[1].strip() if len(parts) == 2 else "" vh.usermc(messages[process_command(arg)], nick) return 0
def OnOperatorCommand(user, data): d = data.split() if vh.GetUserClass(user) >= OP_CLASS: if d[0][1:3] == "hs" and d[1][0:4] == "help": vh.usermc(hshelp,user) return 0 if d[0][1:3] == "hs" and d[1][0:6] == "initdb": vh.SQL(tbc) vh.usermc('Tables Created',user) return 0 if d[0][1:3] == "hs" and d[1][0:5] == "deldb": vh.SQL(tbd) vh.usermc('Tables Deleted',user) return 0 return 1
def OnUserCommand(nick, data): global categories if data == "+rel" or data == "+relhelp": vh.usermc(help, nick) return 0 if data == "+help": vh.usermc(help, nick) return 1 if data == "+uploads": msg = "" for cat in categories: rels = getReleasesByCategory(cat) if rels != None: msg += endl + cat[0] + ":" + endl for rel in rels: msg += rel[0] + ".) " + rel[2] + " (By " + rel[ 3] + ")" + endl vh.usermc(footer(header(msg)), nick) return 0 if data[:5] == "+rel ": arg = data[5:].upper() if arg == "ALL": msg = "" for cat in categories: rels = getReleasesByCategory(cat) if rels != None: msg += endl + cat[0] + ":" + endl for rel in rels: msg += rel[0] + ".) " + rel[2] + " (By " + rel[ 3] + ")" + endl vh.usermc(footer(header(msg)), nick) return 0 for cat in categories: if arg == cat[0]: msg = endl + cat[0] + ":" + endl rels = getReleasesByCategory(cat) if rels != None: for rel in rels: msg += rel[0] + ".) " + rel[2] + " (By " + rel[ 3] + ")" + endl else: msg += "No releases in this category" + endl vh.usermc(footer(header(msg)), nick) return 0 msg = endl + "Usage:" + endl + endl + "+rel <category_name>" + endl + endl + "Where <category_name> is one of:" + endl + endl for cat in categories: msg += cat[0] + endl vh.usermc(footer(header(msg)), nick) return 0 if data[:8] == "+reladd ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function." + endl + "Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)), nick) return 0 args = data[8:].split() cat = [args[0].upper()] text = string.join(args[1:]) if cat in categories: res = addRelease(cat, text, nick) if res: msg = "Release added successfully!" else: msg = "There was some error in adding the release." vh.usermc(footer(header(msg)), nick) else: msg = endl + "Usage:" + endl + endl + "+reladd <category_name> <text>" + endl + endl + "Where <category_name> is one of:" + endl + endl for cat in categories: msg += cat[0] + endl msg += endl + "And <text> can be any text (name, link, etc..)" + endl vh.usermc(footer(header(msg)), nick) return 0 if data[:10] == "+reladdas ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function." + endl + "Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)), nick) return 0 args = data[10:].split() newnick = args[0] cat = [args[1].upper()] text = string.join(args[2:]) if cat in categories: res = addRelease(cat, text, newnick) if res: msg = "Release added successfully!" else: msg = "There was some error in adding the release." vh.usermc(footer(header(msg)), nick) else: msg = endl + "Usage:" + endl + endl + "+reladdas <nick> <category_name> <text>" + endl + endl + "Where <category_name> is one of:" + endl + endl for cat in categories: msg += cat[0] + endl msg += endl + "And <text> can be any text (name, link, etc..)" + endl vh.usermc(footer(header(msg)), nick) return 0 if data[:11] == "+relimport ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function." + endl + "Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)), nick) return 0 args = data[11:].split() cat = [args[0].upper()] relList = string.join(args[1:]).split() if cat in categories: msg = "Import Status:" + endl for rel in relList: res = addRelease(cat, rel, nick) if res: msg += "Success: " else: msg += "Fail: " msg += rel + endl vh.usermc(footer(header(msg)), nick) else: msg = endl + "Usage:" + endl + endl + "+relimport <category_name>" + endl + "<release 1>" + endl + "<release 2>" + endl + "..." + endl + endl + "Where <category_name> is one of:" + endl + endl for cat in categories: msg += cat[0] + endl msg += endl + "And <release n> can be any text (name, link, etc..) without spaces." + endl vh.usermc(footer(header(msg)), nick) return 0 if data[:11] == "+reldelete ": userClass = vh.GetUserClass(nick) if userClass < min_class_allow: msg = "You need to have a downloader account to use this function." + endl + "Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)), nick) return 0 idno = data[11:] downloader = getReleaseDownloader(idno) downloaderClass = vh.GetUserClass(downloader) if nick == downloader or userClass > downloaderClass: res = deleteReleaseById(idno) if res: msg = "Release deleted successfully!" else: msg = "The release #" + idno + " was not found." else: msg = "Cannot delete release #" + idno + endl + "Either it was not found, or was added by someone equal to or higher than you." vh.usermc(footer(header(msg)), nick) return 0 return 1
def pb_reply (nick, data, oc): if oc: vh.pm (pb_nmdc (data), nick, vh.opchatname, vh.botname) else: vh.usermc (pb_nmdc (data), nick)
def OnUserCommand(nick,data): global categories if data == "+rel" or data == "+relhelp": vh.usermc(help,nick) return 0 if data == "+help": vh.usermc(help,nick) return 1 if data == "+uploads": msg = "" for cat in categories: rels = getReleasesByCategory(cat) if rels != None: msg += endl+cat[0]+":"+endl for rel in rels: msg += rel[0]+".) "+rel[2]+" (By "+rel[3]+")"+endl vh.usermc(footer(header(msg)),nick) return 0 if data[:5] == "+rel ": arg = data[5:].upper() if arg == "ALL": msg = "" for cat in categories: rels = getReleasesByCategory(cat) if rels != None: msg += endl+cat[0]+":"+endl for rel in rels: msg += rel[0]+".) "+rel[2]+" (By "+rel[3]+")"+endl vh.usermc(footer(header(msg)),nick) return 0 for cat in categories: if arg == cat[0]: msg = endl+cat[0]+":"+endl rels = getReleasesByCategory(cat) if rels != None: for rel in rels: msg += rel[0]+".) "+rel[2]+" (By "+rel[3]+")"+endl else: msg += "No releases in this category"+endl vh.usermc(footer(header(msg)),nick) return 0 msg = endl+"Usage:"+endl+endl+"+rel <category_name>"+endl+endl+"Where <category_name> is one of:"+endl+endl for cat in categories: msg += cat[0]+endl vh.usermc(footer(header(msg)),nick) return 0 if data[:8] == "+reladd ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function."+endl+"Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)),nick) return 0 args = data[8:].split() cat = [args[0].upper()] text = string.join(args[1:]) if cat in categories: res = addRelease(cat,text,nick) if res: msg = "Release added successfully!" else: msg = "There was some error in adding the release." vh.usermc(footer(header(msg)),nick) else: msg = endl+"Usage:"+endl+endl+"+reladd <category_name> <text>"+endl+endl+"Where <category_name> is one of:"+endl+endl for cat in categories: msg += cat[0]+endl msg += endl+"And <text> can be any text (name, link, etc..)"+endl vh.usermc(footer(header(msg)),nick) return 0 if data[:10] == "+reladdas ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function."+endl+"Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)),nick) return 0 args = data[10:].split() newnick = args[0] cat = [args[1].upper()] text = string.join(args[2:]) if cat in categories: res = addRelease(cat,text,newnick) if res: msg = "Release added successfully!" else: msg = "There was some error in adding the release." vh.usermc(footer(header(msg)),nick) else: msg = endl+"Usage:"+endl+endl+"+reladdas <nick> <category_name> <text>"+endl+endl+"Where <category_name> is one of:"+endl+endl for cat in categories: msg += cat[0]+endl msg += endl+"And <text> can be any text (name, link, etc..)"+endl vh.usermc(footer(header(msg)),nick) return 0 if data[:11] == "+relimport ": if vh.GetUserClass(nick) < min_class_allow: msg = "You need to have a downloader account to use this function."+endl+"Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)),nick) return 0 args = data[11:].split() cat = [args[0].upper()] relList = string.join(args[1:]).split() if cat in categories: msg = "Import Status:"+endl for rel in relList: res = addRelease(cat,rel,nick) if res: msg += "Success: " else: msg += "Fail: " msg += rel+endl vh.usermc(footer(header(msg)),nick) else: msg = endl+"Usage:"+endl+endl+"+relimport <category_name>"+endl+"<release 1>"+endl+"<release 2>"+endl+"..."+endl+endl+"Where <category_name> is one of:"+endl+endl for cat in categories: msg += cat[0]+endl msg += endl+"And <release n> can be any text (name, link, etc..) without spaces."+endl vh.usermc(footer(header(msg)),nick) return 0 if data[:11] == "+reldelete ": userClass = vh.GetUserClass(nick) if userClass < min_class_allow: msg = "You need to have a downloader account to use this function."+endl+"Contact the hub owner with proof for getting a downloader account." vh.usermc(footer(header(msg)),nick) return 0 idno = data[11:] downloader = getReleaseDownloader(idno) downloaderClass = vh.GetUserClass(downloader) if nick == downloader or userClass > downloaderClass: res = deleteReleaseById(idno) if res: msg = "Release deleted successfully!" else: msg = "The release #"+idno+" was not found." else: msg = "Cannot delete release #"+idno+endl+"Either it was not found, or was added by someone equal to or higher than you." vh.usermc(footer(header(msg)),nick) return 0 return 1
def OnOperatorCommand(nick,data): if data=="+schedule": schedule=read() vh.usermc("\nSchedule sent via pm.") vh.pm(schedule,nick) return 0
def OnOperatorCommand(nick, data): if data == "+schedule": schedule = read() vh.usermc("\nSchedule sent via pm.") vh.pm(schedule, nick) return 0