import socket
from config import V5Config

BOLD = "\x02"
ITALIC = "\x1d"
UNDERLINE = "\x1f"
STRIKETHROUGH = "\x1e"

NO_COLOR = "\x03"
WHITE = "\x0300"
BLACK = "\x0301"
BLUE = "\x0302"
GREEN = "\x0303"
RED = "\x0304"
BROWN = "\x0305"
MAGENTA = "\x0306"
ORANGE = "\x0307"
YELLOW = "\x0308"
LIGHT_GREEN = "\x0309"
CYAN = "\x0310"
LIGHT_CYAN = "\x0311"
LIGHT_BLUE = "\x0312"
PINK = "\x0313"
GREY = "\x0314"
LIGHT_GREY = "\x0315"


def say(msg, channels = ["#general"]):
    """ GLaDOS will say <msg> on <channels>
        Channel #* means all channels where GLaDOS listens to
        Raw messages follow this partern:
        #channel1 #channel2: message"""
    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    msg = ":".join([" ".join(channels), msg])
    sock.sendto(msg.encode(),(V5Config.GLADOS_HOST, V5Config.GLADOS_PORT))

def new_topic(topic):
    """ Example wrapper for glados.say """
    say(f"Le topic {BOLD}{topic.title}{BOLD} a été créé")
