diff options
| author | Nakidai <nakidai@disroot.org> | 2026-01-30 18:26:22 +0300 |
|---|---|---|
| committer | Nakidai <nakidai@disroot.org> | 2026-01-30 18:26:22 +0300 |
| commit | 9fa2ddad60c16383fb927645e50ba142050f8110 (patch) | |
| tree | 39298850f993f6b559de71d2824a889bf7c33e4b /handle.c | |
| parent | 60d94739ecaafe02591ac63451293b7e2e7c30a7 (diff) | |
| download | libreircd-0.1.0.tar.gz libreircd-0.1.0.zip | |
Then I should make some logic for pinging others...
Diffstat (limited to 'handle.c')
| -rw-r--r-- | handle.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/handle.c b/handle.c index 1b9f8e6..df36e1f 100644 --- a/handle.c +++ b/handle.c @@ -152,6 +152,21 @@ part(struct Message *msg, struct Peer *peer) } static int +ping(struct Message *msg, struct Peer *peer) +{ + ensure(msg->params[0] && *msg->params[0], reply(peer, 409), 0); + + writef( + peer->fd, + ":%s PONG :%s", + hostname, + msg->params[0] + ); + + return 0; +} + +static int privmsg(struct Message *msg, struct Peer *peer) { size_t i; @@ -274,6 +289,7 @@ static struct Handler { { "nick", nick }, { "notice", privmsg }, { "part", part }, + { "ping", ping }, { "privmsg", privmsg }, { "quit", quit }, { "user", user }, |