1. uranium
  2. shadowircd

Commits

jdhore  committed 6eaea75

Add helpchan and helpurl that tell users the official help channel
and (optionally) link them to your network's specific helppages on
the intertubes. It is shown in /quote help (with no extra parameters).

  • Participants
  • Parent commits b3b2435
  • Branches trunk

Comments (0)

Files changed (6)

File doc/example.conf

View file
 	description = "shadowircd test server";
 	network_name = "AthemeNET";
 	network_desc = "Your IRC network.";
+	helpchan = "#help";
+	helpurl = "http://www.mynet.net/help";
 	hub = yes;
 
 	/* On multi-homed hosts you may need the following. These define

File doc/reference.conf

View file
 	network_name = "MyNet";
 	network_desc = "This is My Network";
 
+	/* helpchan/helpurl: These 2 items are shown when a user does
+	 * /quote help with no additional parameters to direct them
+	 * to a channel/URL where they can get more or network-specific help.
+	 * They can be commented out and will not show to users if they are.
+	 */
+	helpchan = "#help";
+	helpurl = "http://www.mynet.net/help";
+
 	/* hub: allow this server to act as a hub and have multiple servers
 	 * connected to it.  
 	 */

File include/s_conf.h

View file
 	char *description;
 	char *network_name;
 	char *network_desc;
+	char *helpchan;
+	char *helpurl;
 	int hub;
 	struct sockaddr_in ip;
 	int default_max_clients;

File modules/m_help.c

View file
 	rb_dlink_node *fptr;
 
 	if(EmptyString(topic))
+	{
 		topic = ntopic;
+		if(!EmptyString(ServerInfo.helpchan))
+			sendto_one(source_p, ":%s 525 %s :Official Help Channel: %s",
+					me.name, source_p->name, ServerInfo.helpchan);
+		if(!EmptyString(ServerInfo.helpurl))
+			sendto_one(source_p, ":%s 526 %s :Official Help URL: %s",
+					me.name, source_p->name, ServerInfo.helpurl);
+	}
 
 	hptr = irc_dictionary_retrieve(flags & HELP_OPER ? help_dict_oper : help_dict_user, topic);
 

File src/newconf.c

View file
 {
 	{ "description", 	CF_QSTRING, NULL, 0, &ServerInfo.description	},
 	{ "network_desc", 	CF_QSTRING, NULL, 0, &ServerInfo.network_desc	},
+	{ "helpchan",		CF_QSTRING, NULL, 0, &ServerInfo.helpchan		},
+	{ "helpurl",		CF_QSTRING, NULL, 0, &ServerInfo.helpurl		},
 	{ "hub", 		CF_YESNO,   NULL, 0, &ServerInfo.hub		},
 
 	{ "network_name", 	CF_QSTRING, conf_set_serverinfo_network_name,	0, NULL },

File src/s_conf.c

View file
 	ServerInfo.description = NULL;
 	ServerInfo.network_name = rb_strdup(NETWORK_NAME_DEFAULT);
 	ServerInfo.network_desc = rb_strdup(NETWORK_DESC_DEFAULT);
+	ServerInfo.helpchan = rb_strdup("");
+	ServerInfo.helpurl = rb_strdup("");
 
 	memset(&ServerInfo.ip, 0, sizeof(ServerInfo.ip));
 	ServerInfo.specific_ipv4_vhost = 0;
 	ServerInfo.network_name = NULL;
 	rb_free(ServerInfo.network_desc);
 	ServerInfo.network_desc = NULL;
+	rb_free(ServerInfo.helpchan);
+	ServerInfo.helpchan = NULL;
+	rb_free(ServerInfo.helpurl);
+	ServerInfo.helpurl = NULL;
 
 	ServerInfo.ssld_count = 1;