Sto lavorando su un semplice bot irc in C# e non riesco a capire come incorporare i tipici codici di controllo mirc per bold/color etc in string letterali.Incorpora codici colore mIRC in un letterale C#?
Qualcuno può indicarmi come farlo?
Sto lavorando su un semplice bot irc in C# e non riesco a capire come incorporare i tipici codici di controllo mirc per bold/color etc in string letterali.Incorpora codici colore mIRC in un letterale C#?
Qualcuno può indicarmi come farlo?
Il formato del codice colore mIRC è descritto here. Immagino tu stia chiedendo come incorporare uno ^C in una stringa.
Questo è noto come Caret notation. Secondo C0 and C1 control codes, ^C è:
'\x03'
all'interno di una stringa:
"blabla \x035,12to be colored text and background\x03 blabla"
Oppure potresti anche scrivere '" ♥ 5,12 per essere colorato ♥ "', il compilatore non dovrebbe soffocare su questo. –
@Anton: Non importa, rileggi la risposta. Li confondo –
Questo non è un codice colore ANSI. I codici colore ANSI sono: "\ x1B [32,42m" ecc. –
Nel mio Python IRC bot, posso avere il coraggio di presentarsi in irssi usando \ x02sometext \ X02, che si presenta come:
this is \x02some text\x02
questo è un testo
quanto riguarda i colori , Credo che tu stia cercando \ x03AA, BB dove A è il colore di primo piano e B il colore di sfondo (cosa dovresti digitare dopo Ctrl + K). Non certo al 100%, comunque. Prova a connettere un client IRC usando telnet e controlla cosa fa mIRC quando usi Ctrl + K.
Non è probabile che si ottenga un comportamento coeso standard tra i client IRC ... I codici di escape ANSI vengono elaborati da altri client Unix di punti obsoleti come irssi e talvolta il mIRC fa le sue cose.
+1 per aver menzionato i codici di escape ANSI! –
mIRC ha i propri codici colore (indicati con \ x03) e credo che questo sia ben supportato da tutti i client GUI di atleast in questi giorni. Probabilmente prenderei questa strada per un client IRC. Inoltre, dubito che irssi e simili client di comando analizzino i codici ANSI, li analizzano semplicemente attraverso la console e lasciano che si preoccupi di loro. –
I colori mIRC sono piuttosto standard e, mentre alcuni client potrebbero avere le proprie palette, la maggior parte dei client dovrebbe utilizzare la stessa tavolozza, anche se non esattamente la stessa. I codici di escape ANSI non sono supportati da tutti i client, gli unici che conosco sono Irssi e (sorprendentemente) HexChat. – nyuszika7h
Creo un enum e assegnare i valori esadecimali per i codici di controllo a loro.
enum ColorCode {
White = 0, /**< White */
Black = 1, /**< Black */
DarkBlue = 2, /**< Dark blue */
DarkGreen = 3, /**< Dark green */
Red = 4, /**< Red */
DarkRed = 5, /**< Dark red */
DarkViolet = 6, /**< Dark violet */
Orange = 7, /**< Orange */
Yellow = 8, /**< Yellow */
LightGreen = 9, /**< Light green */
Cyan = 10, /**< Cornflower blue */
LightCyan = 11, /**< Light blue */
Blue = 12, /**< Blue */
Violet = 13, /**< Violet */
DarkGray = 14, /**< Dark gray */
LightGray = 15 /**< Light gray */
};
enum ControlCode {
Bold = 0x02, /**< Bold */
Color = 0x03, /**< Color */
Italic = 0x09, /**< Italic */
StrikeThrough = 0x13, /**< Strike-Through */
Reset = 0x0f, /**< Reset */
Underline = 0x15, /**< Underline */
Underline2 = 0x1f, /**< Underline */
Reverse = 0x16 /**< Reverse */
};
Grazie mille per l'enumerazione – MOnsDaR
Questo potrebbe essere giù per la specifica libreria di chat che stavo usando (ChatSharp), ma non ho potuto far funzionare la risposta corrente accettata. Quello che ho finito è stato:
channel.SendMessage((char)3 + "5,12hello");
Cosa fare? Cos'è un codice colore mIRC? Cosa stai cercando di fare? –
Un codice colore mirc è semplicemente un carattere speciale che si inserisce in una stringa che la maggior parte dei client irc analizza e quindi codifica in modo appropriato. – FlySwat