Anope IRC Services  Version 1.8
os_info.c
Go to the documentation of this file.
1 /* os_info.c - Adds oper information lines to nicks/channels
2  *
3  * (C) 2003-2014 Anope Team
4  * Contact us at team@anope.org
5  *
6  * Based on the original module by Rob <rob@anope.org>
7  * Included in the Anope module pack since Anope 1.7.9
8  * Anope Coder: DrStein <drstein@anope.org>
9  *
10  * Please read COPYING and README for further details.
11  *
12  * Send bug reports to the Anope Coder instead of the module
13  * author, because any changes since the inclusion into anope
14  * are not supported by the original author.
15  *
16  */
17 /*************************************************************************/
18 
19 #include "module.h"
20 
21 #define AUTHOR "Rob"
22 #define VERSION VERSION_STRING
23 
24 /* Default database name */
25 #define DEFAULT_DB_NAME "os_info.db"
26 
27 /* Multi-language stuff */
28 #define LANG_NUM_STRINGS 10
29 
30 #define OINFO_SYNTAX 0
31 #define OINFO_ADD_SUCCESS 1
32 #define OINFO_DEL_SUCCESS 2
33 #define OCINFO_SYNTAX 3
34 #define OCINFO_ADD_SUCCESS 4
35 #define OCINFO_DEL_SUCCESS 5
36 #define OINFO_HELP 6
37 #define OCINFO_HELP 7
38 #define OINFO_HELP_CMD 8
39 #define OCINFO_HELP_CMD 9
40 
41 /*************************************************************************/
42 
43 char *OSInfoDBName = NULL;
44 
45 static int myAddNickInfo(User * u);
46 static int myAddChanInfo(User * u);
47 static int myNickInfo(User * u);
48 static int myChanInfo(User * u);
49 
50 static int mNickHelp(User * u);
51 static int mChanHelp(User * u);
52 static void mMainChanHelp(User * u);
53 static void mMainNickHelp(User * u);
54 static void m_AddLanguages(void);
55 
56 static int mLoadData(void);
57 static int mSaveData(int argc, char **argv);
58 static int mBackupData(int argc, char **argv);
59 static int mLoadConfig();
60 static int mEventReload(int argc, char **argv);
61 
62 /*************************************************************************/
63 
70 int AnopeInit(int argc, char **argv)
71 {
72  Command *c;
73  EvtHook *hook = NULL;
74 
78 
79  alog("os_info: Loading configuration directives...");
80  if (mLoadConfig()) {
81  return MOD_STOP;
82  }
83 
84  c = createCommand("oInfo", myAddNickInfo, is_oper, -1, -1, -1, -1, -1);
87 
88  c = createCommand("Info", myNickInfo, NULL, -1, -1, -1, -1, -1);
90 
91  c = createCommand("oInfo", myAddChanInfo, is_oper, -1, -1, -1, -1, -1);
94 
95  c = createCommand("Info", myChanInfo, NULL, -1, -1, -1, -1, -1);
97 
99  moduleAddEventHook(hook);
100 
102  moduleAddEventHook(hook);
103 
105  moduleAddEventHook(hook);
106 
109 
110  mLoadData();
111  m_AddLanguages();
112 
113  return MOD_CONT;
114 }
115 
119 void AnopeFini(void)
120 {
121  char *av[1];
122 
123  av[0] = sstrdup(EVENT_START);
124  mSaveData(1, av);
125  free(av[0]);
126 
127  if (OSInfoDBName)
128  free(OSInfoDBName);
129 }
130 
131 /*************************************************************************/
132 
143 static int myAddNickInfo(User * u)
144 {
145  char *text = NULL;
146  char *cmd = NULL;
147  char *nick = NULL;
148  char *info = NULL;
149  NickAlias *na = NULL;
150 
151  /* Get the last buffer anope recived */
152  text = moduleGetLastBuffer();
153  if (text) {
154  cmd = myStrGetToken(text, ' ', 0);
155  nick = myStrGetToken(text, ' ', 1);
156  info = myStrGetTokenRemainder(text, ' ', 2);
157  if (cmd && nick) {
158  if (strcasecmp(cmd, "ADD") == 0) {
159  /* Syntax error, again! */
160  if (info) {
161  /* ok we've found the user */
162  if ((na = findnick(nick))) {
163  /* Add the module data to the user */
164  moduleAddData(&na->nc->moduleData, "info", info);
166  OINFO_ADD_SUCCESS, nick);
167  /* NickCore not found! */
168  } else {
169  notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED,
170  nick);
171  }
172  free(info);
173  }
174  } else if (strcasecmp(cmd, "DEL") == 0) {
175  /* ok we've found the user */
176  if ((na = findnick(nick))) {
177  moduleDelData(&na->nc->moduleData, "info");
179  OINFO_DEL_SUCCESS, nick);
180  /* NickCore not found! */
181  } else {
182  notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED,
183  nick);
184  }
185  /* another syntax error! */
186  } else {
188  }
189  free(cmd);
190  free(nick);
191  /* Syntax error */
192  } else if (cmd) {
194  free(cmd);
195  /* Syntax error */
196  } else {
198  }
199  } else {
201  }
202  return MOD_CONT;
203 }
204 
215 static int myAddChanInfo(User * u)
216 {
217  char *text = NULL;
218  char *cmd = NULL;
219  char *chan = NULL;
220  char *info = NULL;
221  ChannelInfo *ci = NULL;
222 
223  /* Get the last buffer anope recived */
224  text = moduleGetLastBuffer();
225  if (text) {
226  cmd = myStrGetToken(text, ' ', 0);
227  chan = myStrGetToken(text, ' ', 1);
228  info = myStrGetTokenRemainder(text, ' ', 2);
229  if (cmd && chan) {
230  if (strcasecmp(cmd, "ADD") == 0) {
231  if (info) {
232  if ((ci = cs_findchan(chan))) {
233  /* Add the module data to the channel */
234  moduleAddData(&ci->moduleData, "info", info);
236  OCINFO_ADD_SUCCESS, chan);
237  /* ChanInfo */
238  } else {
239  notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED,
240  chan);
241  }
242  free(info);
243  }
244  } else if (strcasecmp(cmd, "DEL") == 0) {
245  if ((ci = cs_findchan(chan))) {
246  /* Del the module data from the channel */
247  moduleDelData(&ci->moduleData, "info");
249  OCINFO_DEL_SUCCESS, chan);
250  /* ChanInfo */
251  } else {
252  notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED,
253  chan);
254  }
255  /* another syntax error! */
256  } else {
258  }
259  free(cmd);
260  free(chan);
261  /* Syntax error */
262  } else if (cmd) {
264  free(cmd);
265  /* Syntax error */
266  } else {
268  }
269  } else {
271  }
272  return MOD_CONT;
273 }
274 
275 /*************************************************************************/
276 
282 static int myNickInfo(User * u)
283 {
284  char *text = NULL;
285  char *nick = NULL;
286  char *info = NULL;
287  NickAlias *na = NULL;
288 
289  /* Only show our goodies to opers */
290  if (is_oper(u)) {
291  /* Get the last buffer anope recived */
292  text = moduleGetLastBuffer();
293  if (text) {
294  nick = myStrGetToken(text, ' ', 0);
295  if (nick) {
296  /* ok we've found the user */
297  if ((na = findnick(nick))) {
298  /* If we have any info on this user */
299  if ((info = moduleGetData(&na->nc->moduleData, "info"))) {
300  notice_user(s_NickServ, u, " OperInfo: %s", info);
301  free(info);
302  }
303  /* NickCore not found! */
304  } else {
305  /* we dont care! */
306  }
307  free(nick);
308  }
309  }
310  }
311  return MOD_CONT;
312 }
313 
319 static int myChanInfo(User * u)
320 {
321  char *text = NULL;
322  char *chan = NULL;
323  char *info = NULL;
324  ChannelInfo *ci = NULL;
325 
326  /* Only show our goodies to opers */
327  if (is_oper(u)) {
328  /* Get the last buffer anope recived */
329  text = moduleGetLastBuffer();
330  if (text) {
331  chan = myStrGetToken(text, ' ', 0);
332  if (chan) {
333  if ((ci = cs_findchan(chan))) {
334  /* If we have any info on this channel */
335  if ((info = moduleGetData(&ci->moduleData, "info"))) {
336  notice_user(s_ChanServ, u, " OperInfo: %s", info);
337  free(info);
338  }
339  }
340  free(chan);
341  }
342  }
343  }
344  return MOD_CONT;
345 }
346 
347 /*************************************************************************/
348 
353 static int mLoadData(void)
354 {
355  int ret = 0;
356  FILE *in;
357 
358  char *type = NULL;
359  char *name = NULL;
360  char *info = NULL;
361  int len = 0;
362 
363  ChannelInfo *ci = NULL;
364  NickAlias *na = NULL;
365 
366  /* will _never_ be this big thanks to the 512 limit of a message */
367  char buffer[2000];
368  if ((in = fopen(OSInfoDBName, "r")) == NULL) {
369  alog("os_info: WARNING: can not open the database file! (it might not exist, this is not fatal)");
370  ret = 1;
371  } else {
372  while (fgets(buffer, 1500, in)) {
373  type = myStrGetToken(buffer, ' ', 0);
374  name = myStrGetToken(buffer, ' ', 1);
375  info = myStrGetTokenRemainder(buffer, ' ', 2);
376  if (type) {
377  if (name) {
378  if (info) {
379  len = strlen(info);
380  /* Take the \n from the end of the line */
381  info[len - 1] = '\0';
382  if (stricmp(type, "C") == 0) {
383  if ((ci = cs_findchan(name))) {
384  moduleAddData(&ci->moduleData, "info",
385  info);
386  }
387  } else if (stricmp(type, "N") == 0) {
388  if ((na = findnick(name))) {
389  moduleAddData(&na->nc->moduleData, "info",
390  info);
391  }
392  }
393  free(info);
394  }
395  free(name);
396  }
397  free(type);
398  }
399  }
400  fclose(in);
401  }
402  return ret;
403 }
404 
412 static int mSaveData(int argc, char **argv)
413 {
414  ChannelInfo *ci = NULL;
415  NickCore *nc = NULL;
416  int i = 0;
417  int ret = 0;
418  FILE *out;
419  char *info = NULL;
420 
421  if (argc >= 1) {
422  if (!stricmp(argv[0], EVENT_START)) {
423  if ((out = fopen(OSInfoDBName, "w")) == NULL) {
424  alog("os_info: ERROR: can not open the database file!");
426  "os_info: ERROR: can not open the database file!");
427  ret = 1;
428  } else {
429  for (i = 0; i < 1024; i++) {
430  for (nc = nclists[i]; nc; nc = nc->next) {
431  /* If we have any info on this user */
432  if ((info = moduleGetData(&nc->moduleData, "info"))) {
433  fprintf(out, "N %s %s\n", nc->display, info);
434  free(info);
435  }
436  }
437  }
438 
439 
440  for (i = 0; i < 256; i++) {
441  for (ci = chanlists[i]; ci; ci = ci->next) {
442  /* If we have any info on this channel */
443  if ((info = moduleGetData(&ci->moduleData, "info"))) {
444  fprintf(out, "C %s %s\n", ci->name, info);
445  free(info);
446  }
447  }
448  }
449  fclose(out);
450  }
451  } else {
452  ret = 0;
453  }
454  }
455 
456  return ret;
457 }
458 
463 static int mBackupData(int argc, char **argv)
464 {
465  if (argc >= 1 && !stricmp(argv[0], EVENT_START))
467 
468  return MOD_CONT;
469 }
470 
475 static int mLoadConfig(void)
476 {
477  char *tmp = NULL;
478 
479  Directive directivas[] = {
480  {"OSInfoDBName", {{PARAM_STRING, PARAM_RELOAD, &tmp}}},
481  };
482 
483  Directive *d = &directivas[0];
485 
486  if (OSInfoDBName)
487  free(OSInfoDBName);
488 
489  if (tmp) {
490  OSInfoDBName = tmp;
491  } else {
493  alog("os_info: OSInfoDBName is not defined in Services configuration file, using default %s", OSInfoDBName);
494  }
495 
496  alog("os_info: Directive OSInfoDBName loaded (%s)...", OSInfoDBName);
497 
498  return 0;
499 }
500 
505 static int mEventReload(int argc, char **argv)
506 {
507  int ret = 0;
508  if (argc >= 1) {
509  if (!stricmp(argv[0], EVENT_START)) {
510  alog("os_info: Reloading configuration directives...");
511  ret = mLoadConfig();
512  } else {
513  /* Nothing for now */
514  }
515  }
516 
517  if (ret)
518  alog("os_info.c: ERROR: An error has occured while reloading the configuration file");
519 
520  return MOD_CONT;
521 }
522 
523 /*************************************************************************/
524 
528 static void m_AddLanguages(void)
529 {
530  char *langtable_en_us[] = {
531  /* OINFO_SYNTAX */
532  "Syntax: OINFO [ADD|DEL] nick <info>",
533  /* OINFO_ADD_SUCCESS */
534  "OperInfo line has been added to nick %s",
535  /* OINFO_DEL_SUCCESS */
536  "OperInfo line has been removed from nick %s",
537  /* OCINFO_SYNTAX */
538  "Syntax: OINFO [ADD|DEL] chan <info>",
539  /* OCINFO_ADD_SUCCESS */
540  "OperInfo line has been added to channel %s",
541  /* OCINFO_DEL_SUCCESS */
542  "OperInfo line has been removed from channel %s",
543  /* OINFO_HELP */
544  "Syntax: OINFO [ADD|DEL] nick <info>\n"
545  "Add or Delete Oper information for the given nick\n"
546  "This will show up when any oper uses /ns info nick on the user.\n"
547  "and can be used for 'tagging' users etc....",
548  /* OCINFO_HELP */
549  "Syntax: OINFO [ADD|DEL] chan <info>\n"
550  "Add or Delete Oper information for the given channel\n"
551  "This will show up when any oper uses /cs info on the channel.\n"
552  "and can be used for 'tagging' channels etc....",
553  /* OINFO_HELP_CMD */
554  " OINFO Add / Del an OperInfo line to a nick",
555  /* OCINFO_HELP_CMD */
556  " OINFO Add / Del an OperInfo line to a channel"
557  };
558 
559  char *langtable_es[] = {
560  /* OINFO_SYNTAX */
561  "Sintaxis: OINFO [ADD|DEL] nick <info>",
562  /* OINFO_ADD_SUCCESS */
563  "Una linea OperInfo ha sido agregada al nick %s",
564  /* OINFO_DEL_SUCCESS */
565  "La linea OperInfo ha sido removida del nick %s",
566  /* OCINFO_SYNTAX */
567  "Sintaxis: OINFO [ADD|DEL] chan <info>",
568  /* OCINFO_ADD_SUCCESS */
569  "Linea OperInfo ha sido agregada al canal %s",
570  /* OCINFO_DEL_SUCCESS */
571  "La linea OperInfo ha sido removida del canal %s",
572  /* OINFO_HELP */
573  "Sintaxis: OINFO [ADD|DEL] nick <info>\n"
574  "Agrega o elimina informacion para Operadores al nick dado\n"
575  "Esto se mostrara cuando cualquier operador haga /ns info nick\n"
576  "y puede ser usado para 'marcado' de usuarios, etc....",
577  /* OCINFO_HELP */
578  "Sintaxis: OINFO [ADD|DEL] chan <info>\n"
579  "Agrega o elimina informacion para Operadores al canal dado\n"
580  "Esto se mostrara cuando cualquier operador haga /cs info canal\n"
581  "y puede ser usado para 'marcado' de canales, etc....",
582  /* OINFO_HELP_CMD */
583  " OINFO Agrega / Elimina una linea OperInfo al nick",
584  /* OCINFO_HELP_CMD */
585  " OINFO Agrega / Elimina una linea OperInfo al canal"
586  };
587 
588  char *langtable_nl[] = {
589  /* OINFO_SYNTAX */
590  "Gebruik: OINFO [ADD|DEL] nick <info>",
591  /* OINFO_ADD_SUCCESS */
592  "OperInfo regel is toegevoegd aan nick %s",
593  /* OINFO_DEL_SUCCESS */
594  "OperInfo regel is weggehaald van nick %s",
595  /* OCINFO_SYNTAX */
596  "Gebruik: OINFO [ADD|DEL] kanaal <info>",
597  /* OCINFO_ADD_SUCCESS */
598  "OperInfo regel is toegevoegd aan kanaal %s",
599  /* OCINFO_DEL_SUCCESS */
600  "OperInfo regel is weggehaald van kanaal %s",
601  /* OINFO_HELP */
602  "Gebruik: OINFO [ADD|DEL] nick <info>\n"
603  "Voeg een Oper informatie regel toe aan de gegeven nick, of\n"
604  "verwijder deze. Deze regel zal worden weergegeven wanneer\n"
605  "een oper /ns info nick doet voor deze gebruiker, en kan worden\n"
606  "gebruikt om een gebruiker te 'markeren' etc...",
607  /* OCINFO_HELP */
608  "Gebruik: OINFO [ADD|DEL] kanaal <info>\n"
609  "Voeg een Oper informatie regel toe aan de gegeven kanaal, of\n"
610  "verwijder deze. Deze regel zal worden weergegeven wanneer\n"
611  "een oper /cs info kanaal doet voor dit kanaal, en kan worden\n"
612  "gebruikt om een kanaal te 'markeren' etc...",
613  /* OINFO_HELP_CMD */
614  " OINFO Voeg een OperInfo regel toe aan een nick of verwijder deze",
615  /* OCINFO_HELP_CMD */
616  " OINFO Voeg een OperInfo regel toe aan een kanaal of verwijder deze"
617  };
618 
619  char *langtable_de[] = {
620  /* OINFO_SYNTAX */
621  "Syntax: OINFO [ADD|DEL] Nickname <Information>",
622  /* OINFO_ADD_SUCCESS */
623  "Eine OperInfo Linie wurde zu den Nicknamen %s hinzugefьgt",
624  /* OINFO_DEL_SUCCESS */
625  "Die OperInfo Linie wurde von den Nicknamen %s enfernt",
626  /* OCINFO_SYNTAX */
627  "Syntax: OINFO [ADD|DEL] Channel <Information>",
628  /* OCINFO_ADD_SUCCESS */
629  "Eine OperInfo Linie wurde zu den Channel %s hinzugefьgt",
630  /* OCINFO_DEL_SUCCESS */
631  "Die OperInfo Linie wurde von den Channel %s enfernt",
632  /* OINFO_HELP */
633  "Syntax: OINFO [ADD|DEL] Nickname <Information>\n"
634  "Addiert oder lцscht eine OperInfo Linie zu den angegebenen\n"
635  "Nicknamen.Sie wird angezeigt wenn ein Oper mit /ns info sich\n"
636  "ьber den Nicknamen informiert.",
637  /* OCINFO_HELP */
638  "Syntax: OINFO [ADD|DEL] chan <info>\n"
639  "Addiert oder lцscht eine OperInfo Linie zu den angegebenen\n"
640  "Channel.Sie wird angezeigt wenn ein Oper mit /cs info sich\n"
641  "ьber den Channel informiert.",
642  /* OINFO_HELP_CMD */
643  " OINFO Addiert / Lцscht eine OperInfo Linie zu / von einen Nicknamen",
644  /* OCINFO_HELP_CMD */
645  " OINFO Addiert / Lцscht eine OperInfo Linie zu / von einen Channel"
646  };
647 
648  char *langtable_pt[] = {
649  /* OINFO_SYNTAX */
650  "Sintaxe: OINFO [ADD|DEL] nick <informaзгo>",
651  /* OINFO_ADD_SUCCESS */
652  "A linha OperInfo foi adicionada ao nick %s",
653  /* OINFO_DEL_SUCCESS */
654  "A linha OperInfo foi removida do nick %s",
655  /* OCINFO_SYNTAX */
656  "Sintaxe: OINFO [ADD|DEL] canal <informaзгo>",
657  /* OCINFO_ADD_SUCCESS */
658  "A linha OperInfo foi adicionada ao canal %s",
659  /* OCINFO_DEL_SUCCESS */
660  "A linha OperInfo foi removida do canal %s",
661  /* OINFO_HELP */
662  "Sintaxe: OINFO [ADD|DEL] nick <informaзгo>\n"
663  "Adiciona ou apaga informaзгo para Operadores ao nick fornecido\n"
664  "Isto serб mostrado quando qualquer Operador usar /ns info nick\n"
665  "e pode ser usado para 'etiquetar' usuбrios etc...",
666  /* OCINFO_HELP */
667  "Sintaxe: OINFO [ADD|DEL] canal <informaзгo>\n"
668  "Adiciona ou apaga informaзгo para Operadores ao canal fornecido\n"
669  "Isto serб mostrado quando qualquer Operador usar /cs info canal\n"
670  "e pode ser usado para 'etiquetar' canais etc...",
671  /* OINFO_HELP_CMD */
672  " OINFO Adiciona ou Apaga a linha OperInfo para um nick",
673  /* OCINFO_HELP_CMD */
674  " OINFO Adiciona ou Apaga a linha OperInfo para um canal"
675  };
676 
677  char *langtable_ru[] = {
678  /* OINFO_SYNTAX */
679  "Синтаксис: OINFO ADD|DEL ник тест",
680  /* OINFO_ADD_SUCCESS */
681  "Опер-Информация для ника %s добавлена, /* OINFO_DEL_SUCCESS */ "Опер-Информация для ника %s была удалена", /* OCINFO_SYNTAX */ "Синтаксис: OINFO ADD|DEL #канал текст", /* OCINFO_ADD_SUCCESS */ "Опер-Информация для канала %s успешно установлена", /* OCINFO_DEL_SUCCESS */ "Опер-Информация для канала %s была удалена", /* OINFO_HELP */ "Синтаксис: OINFO ADD|DEL ник текст\n" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ ",
682  /* OINFO_DEL_SUCCESS */
683  "Опер-Информация для ника %s была удалена, /* OCINFO_SYNTAX */ "Синтаксис: OINFO ADD|DEL #канал текст", /* OCINFO_ADD_SUCCESS */ "Опер-Информация для канала %s успешно установлена", /* OCINFO_DEL_SUCCESS */ "Опер-Информация для канала %s была удалена", /* OINFO_HELP */ "Синтаксис: OINFO ADD|DEL ник текст\n" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ ",
684  /* OCINFO_SYNTAX */
685  "Синтаксис: OINFO ADD|DEL #канал текст, /* OCINFO_ADD_SUCCESS */ "Опер-Информация для канала %s успешно установлена", /* OCINFO_DEL_SUCCESS */ "Опер-Информация для канала %s была удалена", /* OINFO_HELP */ "Синтаксис: OINFO ADD|DEL ник текст\n" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ ",
686  /* OCINFO_ADD_SUCCESS */
687  "Опер-Информация для канала %s успешно установлена, /* OCINFO_DEL_SUCCESS */ "Опер-Информация для канала %s была удалена", /* OINFO_HELP */ "Синтаксис: OINFO ADD|DEL ник текст\n" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ ",
688  /* OCINFO_DEL_SUCCESS */
689  "Опер-Информация для канала %s была удалена, /* OINFO_HELP */ "Синтаксис: OINFO ADD|DEL ник текст\n" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ ",
690  /* OINFO_HELP */
691  "Синтаксис: OINFO ADD|DEL ник текстn" "Устанавливает или удаляет Опер-Информацию для указанного ника,\n" "которая будет показана любому оператору, запрашивающему INFO ника.\n" "Может быть использована для 'пометки' пользователей и т. д...", /* OCINFO_HELP */ "Синтаксис: OINFO ADD|DEL #канал текст\n" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ \n"
692  "Устанавливает или удаляет Опер-Информацию для указанного ника,\n"
693  "которая будет показана любому оператору, запрашивающему INFO ника.\n"
694  "Может быть использована для 'пометки' пользователей и т. д...",
695  /* OCINFO_HELP */
696  "Синтаксис: OINFO ADD|DEL #канал текстn" "Устанавливает или удаляет Опер-Информацию для указанного канала,\n" "которая будет показана любому оператору, запрашивающему INFO канала.\n" "Может быть использована для 'пометки' каналов и т. д...", /* OINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для ника", /* OCINFO_HELP_CMD */ " OINFO Добавляет/Удаляет опер-инфо для канала" }; char *langtable_it[] = { /* OINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] nick <info>", /* OINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al nick %s", /* OINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal nick %s", /* OCINFO_SYNTAX */ "Sintassi: OINFO [ADD|DEL] chan <info>", /* OCINFO_ADD_SUCCESS */ "Linea OperInfo aggiunta al canale %s", /* OCINFO_DEL_SUCCESS */ "Linea OperInfo rimossa dal canale %s", /* OINFO_HELP */ "Sintassi: OINFO [ADD|DEL] nick <info>\n" "Aggiunge o rimuove informazioni Oper per il nick specificato\n" "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n" "e possono essere utilizzate per 'marchiare' gli utenti ecc...", /* OCINFO_HELP */ "Sintassi: OINFO [ADD|DEL] chan <info>\n" "Aggiunge o rimuove informazioni Oper per il canale specificato\n" "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n" "e possono essere utilizzate per 'marchiare' i canali ecc...", /* OINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick", /* OCINFO_HELP_CMD */ " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale" }; char *langtable_fr[] = { /* OINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002", /* OINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au pseudo %s", /* OINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au pseudo %s", /* OCINFO_SYNTAX */ "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002", /* OCINFO_ADD_SUCCESS */ "Ligne OperInfo ajoutйe au canal %s", /* OCINFO_DEL_SUCCESS */ "Ligne OperInfo retirйe au canal %s", /* OINFO_HELP */ "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au pseudo spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ \n"
697  "Устанавливает или удаляет Опер-Информацию для указанного канала,\n"
698  "которая будет показана любому оператору, запрашивающему INFO канала.\n"
699  "Может быть использована для 'пометки' каналов и т. д...",
700  /* OINFO_HELP_CMD */
701  " OINFO Добавляет/Удаляет опер-инфо для ника",
702  /* OCINFO_HELP_CMD */
703  " OINFO Добавляет/Удаляет опер-инфо для канала"
704  };
705 
706  char *langtable_it[] = {
707  /* OINFO_SYNTAX */
708  "Sintassi: OINFO [ADD|DEL] nick <info>",
709  /* OINFO_ADD_SUCCESS */
710  "Linea OperInfo aggiunta al nick %s",
711  /* OINFO_DEL_SUCCESS */
712  "Linea OperInfo rimossa dal nick %s",
713  /* OCINFO_SYNTAX */
714  "Sintassi: OINFO [ADD|DEL] chan <info>",
715  /* OCINFO_ADD_SUCCESS */
716  "Linea OperInfo aggiunta al canale %s",
717  /* OCINFO_DEL_SUCCESS */
718  "Linea OperInfo rimossa dal canale %s",
719  /* OINFO_HELP */
720  "Sintassi: OINFO [ADD|DEL] nick <info>\n"
721  "Aggiunge o rimuove informazioni Oper per il nick specificato\n"
722  "Queste vengono mostrate quando un oper esegue il comando /ns info <nick>\n"
723  "e possono essere utilizzate per 'marchiare' gli utenti ecc...",
724  /* OCINFO_HELP */
725  "Sintassi: OINFO [ADD|DEL] chan <info>\n"
726  "Aggiunge o rimuove informazioni Oper per il canale specificato\n"
727  "Queste vengono mostrate quando un oper esegue il comando /cs info <canale>\n"
728  "e possono essere utilizzate per 'marchiare' i canali ecc...",
729  /* OINFO_HELP_CMD */
730  " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un nick",
731  /* OCINFO_HELP_CMD */
732  " OINFO Aggiunge/Rimuove una linea OperInfo ad/da un canale"
733  };
734 
735  char *langtable_fr[] = {
736  /* OINFO_SYNTAX */
737  "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037<info>\037\002",
738  /* OINFO_ADD_SUCCESS */
739  "Ligne OperInfo ajoutйe au pseudo %s",
740  /* OINFO_DEL_SUCCESS */
741  "Ligne OperInfo retirйe au pseudo %s",
742  /* OCINFO_SYNTAX */
743  "Syntaxe: \002OINFO [ADD|DEL] \037canal\037 \037<info>\037\002",
744  /* OCINFO_ADD_SUCCESS */
745  "Ligne OperInfo ajoutйe au canal %s",
746  /* OCINFO_DEL_SUCCESS */
747  "Ligne OperInfo retirйe au canal %s",
748  /* OINFO_HELP */
749  "Syntaxe: \002OINFO [ADD|DEL] \037pseudo\037 \037info\037\002\n"
750  "Ajoute ou supprime une information Oper au pseudo spйcifiйn" "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n" "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....", /* OCINFO_HELP */ "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n" "Ajoute ou supprime une information Oper au canal spйcifiй\n" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ \n"
751  "Elle sera vue par un oper avec la commande /ns info pseudo pour l'utilisateur\n"
752  "et peut кtre utilisйe pour 'taguer' les utilisateurs etc....",
753  /* OCINFO_HELP */
754  "Syntax: \002OINFO [ADD|DEL] \037canal\037 \037info\037\002\n"
755  "Ajoute ou supprime une information Oper au canal spйcifiйn" "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n" "et peut кtre utilisйe pour 'taguer' les canaux etc....", /* OINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo", /* OCINFO_HELP_CMD */ " OINFO Ajoute / Supprime une ligne OperInfo а un canal" }; moduleInsertLanguage(LANG_EN_US, LANG_NUM_STRINGS, langtable_en_us); moduleInsertLanguage(LANG_ES, LANG_NUM_STRINGS, langtable_es); moduleInsertLanguage(LANG_NL, LANG_NUM_STRINGS, langtable_nl); moduleInsertLanguage(LANG_DE, LANG_NUM_STRINGS, langtable_de); moduleInsertLanguage(LANG_PT, LANG_NUM_STRINGS, langtable_pt); moduleInsertLanguage(LANG_RU, LANG_NUM_STRINGS, langtable_ru); moduleInsertLanguage(LANG_IT, LANG_NUM_STRINGS, langtable_it); moduleInsertLanguage(LANG_FR, LANG_NUM_STRINGS, langtable_fr); } /*************************************************************************/ static int mNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP); } else { notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } static int mChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP); } else { notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO"); } return MOD_CONT; } /* This help will be added to the main NickServ list */ static void mMainNickHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_NickServ, u, OINFO_HELP_CMD); } } /* This help will be added to the main NickServ list */ static void mMainChanHelp(User * u) { if (is_oper(u)) { moduleNoticeLang(s_ChanServ, u, OCINFO_HELP_CMD); } } /*************************************************************************/ /* EOF */ \n"
756  "Elle sera vue par un oper avec la commande /ns info canal pour le canal.\n"
757  "et peut кtre utilisйe pour 'taguer' les canaux etc....",
758  /* OINFO_HELP_CMD */
759  " OINFO Ajoute / Supprime une ligne OperInfo а un pseudo",
760  /* OCINFO_HELP_CMD */
761  " OINFO Ajoute / Supprime une ligne OperInfo а un canal"
762  };
763 
772 }
773 
774 /*************************************************************************/
775 
776 static int mNickHelp(User * u)
777 {
778  if (is_oper(u)) {
780  } else {
781  notice_lang(s_NickServ, u, NO_HELP_AVAILABLE, "OINFO");
782  }
783  return MOD_CONT;
784 }
785 
786 static int mChanHelp(User * u)
787 {
788  if (is_oper(u)) {
790  } else {
791  notice_lang(s_ChanServ, u, NO_HELP_AVAILABLE, "OINFO");
792  }
793  return MOD_CONT;
794 }
795 
796 /* This help will be added to the main NickServ list */
797 static void mMainNickHelp(User * u)
798 {
799  if (is_oper(u)) {
801  }
802 }
803 
804 /* This help will be added to the main NickServ list */
805 static void mMainChanHelp(User * u)
806 {
807  if (is_oper(u)) {
809  }
810 }
811 
812 /*************************************************************************/
813 
814 /* EOF */
E int is_oper(User *user)
Definition: users.c:937
ModuleData * moduleData
Definition: services.h:695
#define LANG_DE
Definition: services.h:1324
E void ModuleDatabaseBackup(char *dbname)
Definition: datafiles.c:732
E NickAlias * findnick(const char *nick)
Definition: db-merger.c:1857
static int mLoadData(void)
Definition: os_info.c:353
MDE void moduleNoticeLang(char *source, User *u, int number,...)
Definition: modules.c:2680
#define EVENT_DB_SAVING
Definition: events.h:17
void AnopeFini(void)
Definition: os_info.c:119
#define LANG_ES
Definition: services.h:1319
#define MOD_TAIL
Definition: module.h:13
#define LANG_RU
Definition: services.h:1328
static void m_AddLanguages(void)
Definition: os_info.c:528
static int mChanHelp(User *u)
Definition: os_info.c:786
E int stricmp(const char *s1, const char *s2)
Definition: compat.c:58
E void E void E void E void notice_user(char *source, User *u, const char *fmt,...) FORMAT(printf
E char * myStrGetTokenRemainder(const char *str, const char dilim, int token_number)
Definition: misc.c:720
#define LANG_NL
Definition: services.h:1327
char * OSInfoDBName
Definition: os_info.c:43
#define EVENT_RELOAD
Definition: events.h:40
ModuleData * moduleData
Definition: services.h:557
#define OCINFO_ADD_SUCCESS
Definition: os_info.c:34
#define OCINFO_HELP_CMD
Definition: os_info.c:39
#define PARAM_RELOAD
Definition: services.h:454
static void mMainChanHelp(User *u)
Definition: os_info.c:805
MDE void moduleAddAuthor(const char *author)
Definition: modules.c:1772
#define AUTHOR
Definition: os_info.c:21
char name[CHANMAX]
Definition: services.h:654
E void notice_lang(char *source, User *dest, int message,...)
Definition: send.c:169
MDE void moduleSetType(MODType type)
Definition: modules.c:818
#define OINFO_HELP
Definition: os_info.c:36
MDE char * moduleGetLastBuffer(void)
Definition: modules.c:1988
E ChannelInfo * chanlists[256]
Definition: extern.h:167
#define OCINFO_DEL_SUCCESS
Definition: os_info.c:35
E char * sstrdup(const char *s)
Definition: memory.c:105
NickCore * nc
Definition: services.h:533
char * display
Definition: services.h:542
MDE void moduleDelData(ModuleData **md, char *key)
Definition: modules.c:2301
static int myAddNickInfo(User *u)
Definition: os_info.c:143
#define OINFO_HELP_CMD
Definition: os_info.c:38
E char * s_OperServ
Definition: extern.h:289
#define MOD_STOP
Definition: modules.h:53
#define LANG_FR
Definition: services.h:1321
#define DEFAULT_DB_NAME
Definition: os_info.c:25
NickCore * next
Definition: services.h:540
static int myAddChanInfo(User *u)
Definition: os_info.c:215
MDE void moduleAddVersion(const char *version)
Definition: modules.c:1760
static int myChanInfo(User *u)
Definition: os_info.c:319
MDE void moduleSetChanHelp(void(*func)(User *u))
Definition: modules.c:2090
MDE EvtHook * createEventHook(char *name, int(*func)(int argc, char **argv))
Definition: events.c:305
static int mLoadConfig()
Definition: os_info.c:475
Command * c
Definition: ns_recover.c:17
#define CHANSERV
Definition: modules.h:60
MDE int moduleAddData(ModuleData **md, char *key, char *value)
Definition: modules.c:2225
static int mSaveData(int argc, char **argv)
Definition: os_info.c:412
E void alog(const char *fmt,...) FORMAT(printf
#define MOD_CONT
Definition: modules.h:54
#define EVENT_START
Definition: events.h:14
#define LANG_IT
Definition: services.h:1323
#define LANG_NUM_STRINGS
Definition: os_info.c:28
static int mEventReload(int argc, char **argv)
Definition: os_info.c:505
MDE void moduleInsertLanguage(int langNumber, int ac, char **av)
Definition: modules.c:2650
int AnopeInit(int argc, char **argv)
Definition: os_info.c:70
#define OCINFO_SYNTAX
Definition: os_info.c:33
MDE void moduleSetNickHelp(void(*func)(User *u))
Definition: modules.c:2078
MDE Command * createCommand(const char *name, int(*func)(User *u), int(*has_priv)(User *u), int help_all, int help_reg, int help_oper, int help_admin, int help_root)
Definition: modules.c:987
static int myNickInfo(User *u)
Definition: os_info.c:282
static int mNickHelp(User *u)
Definition: os_info.c:776
E char * myStrGetToken(const char *str, const char dilim, int token_number)
Definition: misc.c:654
#define LANG_EN_US
Definition: services.h:1315
MDE int moduleAddHelp(Command *c, int(*func)(User *u))
Definition: modules.c:2064
E ChannelInfo * cs_findchan(const char *chan)
Definition: db-merger.c:2000
MDE int moduleGetConfigDirective(Directive *h)
Definition: modules.c:2553
static int mBackupData(int argc, char **argv)
Definition: os_info.c:463
MDE char * moduleGetData(ModuleData **md, char *key)
Definition: modules.c:2266
static void mMainNickHelp(User *u)
Definition: os_info.c:797
#define PARAM_STRING
Definition: services.h:443
E NickCore * nclists[1024]
Definition: extern.h:924
E char * s_ChanServ
Definition: extern.h:285
#define EVENT_DB_BACKUP
Definition: events.h:18
#define OCINFO_HELP
Definition: os_info.c:37
E char * s_NickServ
Definition: extern.h:284
MDE int moduleAddCommand(CommandHash *cmdTable[], Command *c, int pos)
Definition: modules.c:1082
#define MOD_HEAD
Definition: module.h:12
#define VERSION
Definition: os_info.c:22
#define OINFO_ADD_SUCCESS
Definition: os_info.c:31
ChannelInfo * next
Definition: services.h:653
#define LANG_PT
Definition: services.h:1320
MDE int moduleAddEventHook(EvtHook *evh)
Definition: events.c:528
#define OINFO_DEL_SUCCESS
Definition: os_info.c:32
#define OINFO_SYNTAX
Definition: os_info.c:30
#define NICKSERV
Definition: modules.h:59
E void anope_cmd_global(char *source, const char *fmt,...)
Definition: ircd.c:506