def add_projects(self, arguments, messageInfo): message = arguments.split(" ") try: name = message[0] language = message[1] link = message[2] message.pop(0) message.pop(0) message.pop(0) description = ' '.join(message) except IndexError: ircHelpers.privateMessage( messageInfo['user'], "Correct usage is: !!addproject [name] [language] [link] [description]" ) return False proj_id = binascii.b2a_hex(os.urandom(3)).decode() proj_dict = { "name": name, "language": language, "link": link, "description": description.strip("\r"), "id": proj_id } if DB().db_add_data("projects", proj_dict): ircHelpers.pmInChannel( messageInfo['user'], "Added project %s. Thank's for taking part!" % name) ircHelpers.sayInChannel("Added new project: %s" % name) else: ircHelpers.privateMessage(messageInfo['user'], "Error trying to add project %s" % name)
def delete_mail(self, arguments, messageInfo): if DB().db_delete_data("mail","id",arguments.strip('\r')): ircHelpers.pmInChannel(messageInfo["user"], "Deleted message (if available)") return True else: ircHelpers.pmInChannel(messageInfo["user"], "Error while deleting message") return False
def notify(self, user): data = DB().db_get_data("mail", "recipient", user) if data == None: print("!! Error attempting to notify user of mail.") return False elif len(data) != 0: ircHelpers.pmInChannel(user, "You have mail! You can check it with mymail and delete it with delmail <id>") return True
def delete_mail(self, arguments, messageInfo): if DB().db_delete_data("mail", "id", arguments.strip('\r')): ircHelpers.pmInChannel(messageInfo["user"], "Deleted message (if available)") return True else: ircHelpers.pmInChannel(messageInfo["user"], "Error while deleting message") return False
def delete_projects(self, arguments, messageInfo): if not arguments.strip("\r").strip(): ircHelpers.pmInChannel(messageInfo["user"], "Correct usage is: !!delproject [project_id]") return False if DB().db_delete_data("projects", "id", arguments.strip("\r")): ircHelpers.sayInChannel("Deleted project (if available)") return True else: ircHelpers.sayInChannel("Error trying to delete project") return False
def notify(self, user): data = DB().db_get_data("mail", "recipient", user) if data == None: print("!! Error attempting to notify user of mail.") return False elif len(data) != 0: ircHelpers.pmInChannel( user, "You have mail! You can check it with mymail and delete it with delmail <id>" ) return True
def delete_projects(self, arguments, messageInfo): if not arguments.strip('\r').strip(): ircHelpers.pmInChannel( messageInfo['user'], "Correct usage is: !!delproject [project_id]") return False if DB().db_delete_data("projects", "id", arguments.strip('\r')): ircHelpers.sayInChannel("Deleted project (if available)") return True else: ircHelpers.sayInChannel("Error trying to delete project") return False
def get_mail(self, arguments, messageInfo): recipient = messageInfo["user"] data = DB().db_get_data("mail", "recipient", recipient) if data == None: ircHelpers.pmInChannel(messageInfo["user"], "Error retrieving mail") return False elif len(data) == 0: ircHelpers.pmInChannel(messageInfo["user"], "You have no messages") return True else: for mail_tuple in data: ircHelpers.privateMessage(mail_tuple[1], "[ %s ] <%s>: %s" % (mail_tuple[3],mail_tuple[0],mail_tuple[2])) return True
def list_projects(self, arguments, messageInfo): user = messageInfo["user"] if not DB().db_check_table("projects"): DB().db_add_table("projects", "name text, language text, link text, description text, id text") if arguments: data = DB().db_get_data("projects", "language", arguments.replace("\r", "")) else: data = DB().db_get_all_data("projects") if data == None: ircHelpers.pmInChannel(user, "Error while trying to retrieve Projects") if len(data) == 0: ircHelpers.pmInChannel(user, "There are no listed projects") else: max_name = len("name") max_lang = len("language") max_desc = len("description") max_link = 0 for proj_tuple in data: if len(proj_tuple[1]) > max_lang: max_lang = len(proj_tuple[1]) if len(proj_tuple[0]) > max_name: max_name = len(proj_tuple[0]) if len(proj_tuple[3]) > max_desc: max_desc = len(proj_tuple[3]) if len(proj_tuple[2]) > max_link: max_link = len(proj_tuple[2]) title_row = "(%s) %s [[ %s ]] %s (( %s ))" % ( " id ", "language".ljust(max_lang), "name".ljust(max_name), "description".ljust(max_desc), " link".ljust(max_link), ) ircHelpers.sayInChannel(title_row) ircHelpers.sayInChannel("-" * len(title_row)) for proj_tuple in data: ircHelpers.sayInChannel( # (id) lang [[ name ]] desc << link >> "(%s) %s [[ %s ]] %s (( %s ))" % ( proj_tuple[4], # id proj_tuple[1].ljust(max_lang), # lang proj_tuple[0].ljust(max_name), # name proj_tuple[3].ljust(max_desc), # desc proj_tuple[2].ljust(max_link), ) ) # link
def get_mail(self, arguments, messageInfo): recipient = messageInfo["user"] data = DB().db_get_data("mail", "recipient", recipient) if data == None: ircHelpers.pmInChannel(messageInfo["user"], "Error retrieving mail") return False elif len(data) == 0: ircHelpers.pmInChannel(messageInfo["user"], "You have no messages") return True else: for mail_tuple in data: ircHelpers.privateMessage( mail_tuple[1], "[ %s ] <%s>: %s" % (mail_tuple[3], mail_tuple[0], mail_tuple[2])) return True
def list_projects(self, arguments, messageInfo): user = messageInfo['user'] if not DB().db_check_table("projects"): DB().db_add_table( "projects", "name text, language text, link text, description text, id text" ) if (arguments): data = DB().db_get_data("projects", "language", arguments.replace('\r', '')) else: data = DB().db_get_all_data("projects") if data == None: ircHelpers.pmInChannel(user, "Error while trying to retrieve Projects") if len(data) == 0: ircHelpers.pmInChannel(user, "There are no listed projects") else: max_name = len("name") max_lang = len("language") max_desc = len("description") max_link = 0 for proj_tuple in data: if len(proj_tuple[1]) > max_lang: max_lang = len(proj_tuple[1]) if len(proj_tuple[0]) > max_name: max_name = len(proj_tuple[0]) if len(proj_tuple[3]) > max_desc: max_desc = len(proj_tuple[3]) if len(proj_tuple[2]) > max_link: max_link = len(proj_tuple[2]) title_row = "(%s) %s [[ %s ]] %s (( %s ))" % ( " id ", "language".ljust(max_lang), "name".ljust(max_name), "description".ljust(max_desc), " link".ljust(max_link)) ircHelpers.sayInChannel(title_row) ircHelpers.sayInChannel('-' * len(title_row)) for proj_tuple in data: ircHelpers.sayInChannel( #(id) lang [[ name ]] desc << link >> "(%s) %s [[ %s ]] %s (( %s ))" % ( proj_tuple[4], # id proj_tuple[1].ljust(max_lang), # lang proj_tuple[0].ljust(max_name), # name proj_tuple[3].ljust(max_desc), # desc proj_tuple[2].ljust(max_link))) # link
def add_projects(self, arguments, messageInfo): message = arguments.split(" ") try: name = message[0] language = message[1] link = message[2] message.pop(0) message.pop(0) message.pop(0) description = ' '.join(message) except IndexError: ircHelpers.privateMessage(messageInfo['user'], "Correct usage is: !!addproject [name] [language] [link] [description]") return False proj_id = binascii.b2a_hex(os.urandom(3)).decode() proj_dict = { "name" : name, "language" : language, "link" : link, "description" : description.strip("\r"), "id" : proj_id } if DB().db_add_data("projects", proj_dict): ircHelpers.pmInChannel(messageInfo['user'], "Added project %s. Thank's for taking part!" % name) ircHelpers.sayInChannel("Added new project: %s" % name) else: ircHelpers.privateMessage(messageInfo['user'], "Error trying to add project %s" % name)
def send_mail(self, arguments, messageInfo): sender = messageInfo['user'] message = arguments.split(" ", 1) try: recipient = message[0] message = message[1] except IndexError: ircHelpers.pmInChannel(sender, Mail.help_send) return False mail_id = binascii.b2a_hex(os.urandom(3)).decode() mail_dict = { "sender": sender, "recipient": recipient, "message": message.strip("\r"), "id": mail_id } if DB().db_add_data("mail", mail_dict): ircHelpers.pmInChannel( sender, "sent message to %s: %s" % (recipient, message.strip("\r"))) return True else: ircHelpers.pmInChannel(sender, "Failed to send message to %s" % recipient) return False
def send_mail(self, arguments, messageInfo): sender = messageInfo['user'] message = arguments.split(" ", 1) try: recipient = message[0] message = message[1] except IndexError: ircHelpers.pmInChannel(sender, Mail.help_send) return False mail_id = binascii.b2a_hex(os.urandom(3)).decode() mail_dict = { "sender" : sender, "recipient" : recipient, "message" : message.strip("\r"), "id" : mail_id } if DB().db_add_data("mail", mail_dict): ircHelpers.pmInChannel(sender, "sent message to %s: %s" % (recipient, message.strip("\r"))) return True else: ircHelpers.pmInChannel(sender, "Failed to send message to %s" % recipient) return False
def sayHello(self, user): if user != ircHelpers.getNick(): ircHelpers.pmInChannel(user, "Hello %s! If you're new, try !!help" % user) ircHelpers.pmInChannel(user, "There may not always be a lot of activity here, just stick around. IRC use requires some patience. If you need a response quickly try ping either kzisme or paddatrapper")
def sayHello(self, user): if user != ircHelpers.getNick(): ircHelpers.pmInChannel(user, "Hello %s! If you're new, try !!help" % user)
def sayHello(self, user): if user != ircHelpers.getNick(): ircHelpers.pmInChannel( user, "Hello %s! If you're new, try !!help" % user)