#ifndef __CHATHELP_H
#define __CHATHELP_H

#include <sstream>
#include <string>

static std::string ChatHelp()
{
	std::stringstream ss;
	ss << "sIRC is a IRC client using the Syllable API (libsyllable) as a GUI tookit.\n";
	ss << "\n";
	ss << "Internet Relay Chat (IRC) is a system for live interactive Internet text messaging (chat). It is mainly designed for group communication\n";
	ss << "in discussion forums, called channels. To take part in a discussion you connect to an IRC server using an IRC client program like sIRC\n";
	ss << "\n";
	ss << "sIRC has a big window to display the discussion in the selected channel plus other messages received, a line below to enter your\n";
	ss << "message you want to contribute and a window on the right side showing the users currently connected to the selected channel. The\n";
	ss << "colors indicate the voice status of the users, usually showing whether they are logged in. The \"Whois\" button will display additional\n";
	ss << "information about a selected user from the list above. The \"PrivMSG\" allows to send a private message to the selected user. Below \n";
	ss << "this window there is another window listing the channels currently joined. The CTCP commands allow to check the IRC-client the user is\n";
	ss << "currently working with and the local time on his PC. The output is shown in the _ircserver_ display.\n";
	ss << "\n";
	ss << "To connect to a server please first check the user settings in the file menu and select your nickname and/or username. If the nickname\n";
	ss << "is already in use sIRC will try again adding the number two to the defined nickname. \n";
	ss << "Then select either \"Select server\" to select a server from a list or \"Open server\" if you want to specify a server directly. Then\n";
	ss << "establish an connection - this can take some time. You first get three or more AUTH messages and then you have to wait for the \n";
	ss << "server trying to check your identity. Sometimes the screen stays black during this.  After you get the greeting of the server select \n";
	ss << "\"Join\" in the Channel menu to enter the desired channel. \n";
	ss << "\n";
	ss << "If you do not know a channel to enter, select \"List\" in the Channel menu to find a channel. Either list all channels which will be\n";
	ss << "a long list or specify a pattern e.g. \"win*\" for all channels with \"win\" in their name. You can also look for channels with a minimum\n";
	ss << "number of users to get a lively discussion. The channels retrieved will be listed in the big window and you can scroll that to find\n";
	ss << "a channel that is of interest to you. Then select \"Join\" from the channel menu to enter the name of that channel there.\n";
	ss << "\n";
	ss << "If you connect to several channels at the same time you can switch the display between them by clicking on the channel in the list\n";
	ss << "on the right side of the screen. Selecting the first line named _ircserver_ will display the server messages in the big window. If\n";
	ss << "you select \"Mixed view\" from the File menu all received messages will be displayed in the ircserver view. This way you can monitor\n";
	ss << "several channels with little traffic. If you scroll all to the right, you will see the channel the specific message is directed to\n";
	ss << "and you can select this channel if required. \n";
	ss << "\n";
	ss << "In case you have operator status you can use the commands in the \"User admin\" menu. Select a user in the user list and the command\n";
	ss << "will apply to that user. The \"Format\" menu allows to select the text size in the display window.\n";
	ss << "\n";
	ss << "Commands not available via the menu can be entered in the input field. So \"/nick flchat2\" (without quotes) will send \"NICK flchat2\"\n";
	ss << "to the server and thus change the nickname used to flchat2. Only the first word is converted to upper case. If you send \n";
	ss << "commands that require uppercase parameters you have to enter them as uppercase letters.\n";
	ss << "\n";
	ss << "There are also options which you can list by passing \"-h\" on the command line.\n";
	ss << "\n";
	ss << "October 2023 David Kent\n";
	return ss.str();
}

#endif