IRC-chat fixes

+ Now can join #play-clonk. Anything that adheres the pattern #*clonk*
+ /help actually works now
+ /query nickname message - does not create a chat with "nickname message"
Tobias Zwick 2010-11-25 19:02:23 +01:00
parent 6da2827c10
commit 56937d4179
4 changed files with 16 additions and 5 deletions

View File

@ -565,7 +565,7 @@ IDS_ERR_GFX_REGISTERMAIN=Fehler beim Laden der Grafikdatei
IDS_ERR_INITFONTS=Fehler bei der Schriftinitialisierung
IDS_ERR_INSUFFICIENTPARAMETERS=/%s: fehlende Parameter
IDS_ERR_INVALIDCHANNELNAME=Kein gültiger Chat-Kanal.
IDS_ERR_CHANNELNOTALLOWED=Kann nur Chat-Kanäle betreten, die mit #clonk beginnen.
IDS_ERR_CHANNELNOTALLOWED=Kann nur Chat-Kanäle mit "clonk" im Namen und einem # am Anfang betreten.
IDS_ERR_INVALIDID= Definition %s nicht geladen: Ungültige ID
IDS_ERR_INVALIDNICKNAME2=/%s: unzulässiger Kurzname
IDS_ERR_INVALIDNICKNAME=Unzulässiger Kurzname.
@ -621,6 +621,7 @@ IDS_ERR_SWITCHRES=Fehler beim Ändern der Bildschirmauflösung: %s
IDS_ERR_TIMER=Fehler beim System-Timer
IDS_ERR_TITLE=Fehler
IDS_ERR_UNKNOWNCMD=Unbekannter Befehl: "%s" - Befehl /help für eine Liste gültiger Befehle
IDS_ERR_HELPCMD=Grundlegende Befehle im IRC-Chat:|/join [Chatraum] - Neuen Chatraum betreten|/part - Diesen Chatraum verlassen|/notice [Benutzer] [Nachricht] - Sende eine Nachricht an den Benutzer|/query [Benutzer] - Öffne ein neues Chatfenster für einen privaten Dialog mit dem Benutzer|/msg [Benutzer] [Nachricht] - Dasselbe wie /query, nur dass bereits die erste Nachrich geschickt wird|/nick [Neuer Spitzname] - Wähle einen neuen Spitznamen|/quit - Chat ganz verlassen|/raw - Raw-Kommando senden
IDS_ERR_USERCANCEL=Benutzerabbruch
IDS_ERR_WARNINGYOUWERETRYINGTOSEN=ACHTUNG: Du hast versucht, Deinen persönlichen WebCode an eine unbekannte Person zu versenden. Dieser Code darf unter keinen Umständen an andere Personen weiter gegeben werden, da diese damit Deine persönliche Online-Konten stehlen könnten.||Clonk-Administratoren würden Dich nie nach Deinem WebCode oder anderen Passwörtern fragen.
IDS_ERR_WRITENEWTITLE=Fehler beim Speichern des neuen Titels in Datei "%s": %s

View File

@ -565,7 +565,7 @@ IDS_ERR_GFX_REGISTERMAIN=Could not register main graphic groups
IDS_ERR_INITFONTS=Error initializing fonts
IDS_ERR_INSUFFICIENTPARAMETERS=/%s: insufficient parameters
IDS_ERR_INVALIDCHANNELNAME=Invalid channel name.
IDS_ERR_CHANNELNOTALLOWED=Can only join channels beginning with #clonk.
IDS_ERR_CHANNELNOTALLOWED=Can only join channels with "clonk" in it's name and a # in front.
IDS_ERR_INVALIDID= Definition %s not loaded: Invalid ID
IDS_ERR_INVALIDNICKNAME2=/%s: invalid nick name
IDS_ERR_INVALIDNICKNAME=Invalid nickname.
@ -621,6 +621,7 @@ IDS_ERR_SWITCHRES=Error switching resolution: %s
IDS_ERR_TIMER=System timer error.
IDS_ERR_TITLE=Error
IDS_ERR_UNKNOWNCMD=Unknown command: "%s" - type /help to get a list of valid commands
IDS_ERR_HELPCMD=Basic commands in the IRC-chat:|/join [channel] - Enter a new chat room|/part - Leave this chat room|/notice [user] [message] - Send a message to the user|/query [user] - Open a new chat window to chat for chatting with the user|/msg [user] [message] - The same as /query, only that the first message is already sent|/nick [new nick name] - Choose a new nick name|/quit - Exit the chat|/raw - Send a raw command
IDS_ERR_USERCANCEL=User abort
IDS_ERR_WARNINGYOUWERETRYINGTOSEN=WARNING: you were trying to send your secret WebCode to a stranger on the internet. You should NEVER give your WebCode to anyone, because they could use it to steal your online accounts!||Clonk administrators will never ask you for any passwords or your WebCode.
IDS_ERR_WRITENEWTITLE=Error writing new title for file "%s": %s

View File

@ -836,9 +836,14 @@ bool C4ChatControl::ProcessInput(const char *szInput, ChatSheet *pChatSheet)
// command?
if (*szInput == '/' && !SEqual2NoCase(szInput + 1, "me "))
{
StdStrBuf sCommand, sParam("");; sCommand.Copy(szInput+1);
StdStrBuf sCommand, sParam(""); sCommand.Copy(szInput+1);
sCommand.SplitAtChar(' ', &sParam);
if (SEqualNoCase(sCommand.getData(), "quit"))
if (SEqualNoCase(sCommand.getData(), "help"))
{
pChatSheet->DoError(LoadResStr("IDS_ERR_HELPCMD"));
fResult = false;
}
else if (SEqualNoCase(sCommand.getData(), "quit"))
{
// query disconnect from IRC server
fIRCSuccess = pIRCClient->Quit(sParam.getData());
@ -900,7 +905,11 @@ bool C4ChatControl::ProcessInput(const char *szInput, ChatSheet *pChatSheet)
if (!sParam.getLength())
pChatSheet->DoError(FormatString(LoadResStr("IDS_ERR_INSUFFICIENTPARAMETERS"), sCommand.getData()).getData());
else
{
StdStrBuf sMsg;
sParam.SplitAtChar(' ', &sMsg);
OpenQuery(sParam.getData(), true, NULL);
}
}
else if (SEqualNoCase(sCommand.getData(), "nick"))
{

View File

@ -380,7 +380,7 @@ bool C4Network2IRCClient::Join(const char *szChannel)
{
// Newbie limitation: can only join channels beginning with #clonk
if (!Config.IRC.AllowAllChannels)
if (!SEqual2NoCase(szChannel, "#clonk") && !SEqual2NoCase(szChannel, "#openclonk"))
if (!SWildcardMatchEx(szChannel, "#*clonk*"))
{
const char* message = LoadResStr("IDS_ERR_CHANNELNOTALLOWED");
PushMessage(MSG_Status, "", "", message);