]>
Commit | Line | Data |
---|---|---|
1 | #include "stdinc.h" | |
2 | #include "modules.h" | |
3 | #include "client.h" | |
4 | #include "ircd.h" | |
5 | #include "send.h" | |
6 | ||
7 | static void m_echotags(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]); | |
8 | ||
9 | struct Message echotags_msgtab = { | |
10 | "ECHOTAGS", 0, 0, 0, 0, | |
11 | { mg_ignore, {m_echotags, 0}, mg_ignore, mg_ignore, mg_ignore, {m_echotags, 0} } | |
12 | }; | |
13 | ||
14 | mapi_clist_av1 echotags_clist[] = { &echotags_msgtab, NULL }; | |
15 | ||
16 | static const char echotags_desc[] = "A test module for tags"; | |
17 | ||
18 | DECLARE_MODULE_AV2(echotags, NULL, NULL, echotags_clist, NULL, NULL, NULL, NULL, echotags_desc); | |
19 | ||
20 | static void | |
21 | m_echotags(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) | |
22 | { | |
23 | sendto_one_notice(source_p, ":*** You sent %zu tags.", msgbuf_p->n_tags); | |
24 | ||
25 | for (size_t i = 0; i < msgbuf_p->n_tags; i++) | |
26 | { | |
27 | struct MsgTag *tag = &msgbuf_p->tags[i]; | |
28 | ||
29 | if (tag->value) | |
30 | sendto_one_notice(source_p, ":*** %zu: %s => %s", i, tag->key, tag->value); | |
31 | else | |
32 | sendto_one_notice(source_p, ":*** %zu: %s", i, tag->key); | |
33 | } | |
34 | } | |
35 | ||
36 |