17fdf0d4bf
kike: fix the NAMES reply upon JOIN'ing
...
Now Pidgin seems to be relatively happy with our server.
2014-08-04 23:53:25 +02:00
ca72259b12
kike: implement the WHO command
2014-08-04 23:52:49 +02:00
3b69dfb583
kike: remember to send back AWAY messages
2014-08-04 08:17:34 +02:00
a5953147c3
kike: shuffle things around
...
No functional change, I hope.
2014-08-04 01:50:25 +02:00
9bfdc741fe
kike: stuff
...
Implemented a lot of the channel stuff and other stuff as well.
2014-08-04 01:24:10 +02:00
3291fd5c7a
Update the README
2014-08-04 00:33:06 +02:00
884c434947
kike: don't disclose secret channels in LUSERS
2014-08-03 02:14:15 +02:00
96f4b81182
kike: implement LIST
2014-08-03 00:57:25 +02:00
97f35bedfd
kike: implement USERHOST
2014-08-02 23:00:51 +02:00
559bedad65
kike: update the poller properly
...
Now we can send PRIVMSG's between users and all that jazz.
2014-08-02 21:33:55 +02:00
5e6def5bb0
kike: implement PRIVMSG to user
2014-08-02 21:33:55 +02:00
facd810548
kike: implement clean shutdown
2014-08-02 21:33:55 +02:00
e8ddf5e58c
coin: wrap an if statement
2014-08-02 21:33:55 +02:00
5bedd3918c
kike: implement connection limit
...
Somehow I'm not sure whether this thing is useful in any sense.
2014-08-02 21:33:49 +02:00
2fe3c7ed45
kike: implement the ping-pong and QUIT
2014-08-02 21:32:26 +02:00
9720e30c8b
kike: add a `ping_interval' config. value
2014-08-02 20:36:40 +02:00
16852048ed
Don't forward messages while !irc_ready
2014-08-01 00:42:17 +02:00
a4e18d306e
Fix plugin autoload
...
I was trying to be too smart about holding up IRC messages coming from
plugins while the bot is disconnected.
2014-08-01 00:29:17 +02:00
2b90aa097e
ZyklonB: fix the `print' plugin command
2014-07-31 23:09:48 +02:00
8ece6a4f64
script: fix parse_word()
...
With the `c > ' '` requirement we can't have an assertion for length in there.
2014-07-31 23:07:37 +02:00
8fde2e72aa
script: improvements
...
- fixed cons
- added missing arithmetic operators
- added min/max/xor/all?/any?/nip/curry/reverse/over
- added a few functional tests
2014-07-31 22:56:18 +02:00
2735756dbd
script: add length
2014-07-31 02:45:04 +02:00
ba3f4e620c
script: add uncons/first/rest/>/>=/<=/!=/join
2014-07-31 02:34:02 +02:00
f62dbe9546
script: fix call/dip, add fold/each/unit/cons/cat
2014-07-31 01:17:09 +02:00
053359aaf1
Fix the `youtube' plugin
...
I hadn't read the docs throughly.
2014-07-30 23:17:31 +02:00
154163ea0a
Add an experimental `script' plugin
...
Basically reimplemented the macro language from libxntd.
Lots of work to be done yet, even if we keep it as a stand-alone TCC plugin.
2014-07-30 21:03:15 +02:00
25f981e0b1
Didn't intend to commit the API key, too
2014-07-25 00:15:52 +02:00
6f065351d3
Added a `youtube' plugin
...
Written for Python 3, it just shows info about random YouTube links.
2014-07-25 00:12:37 +02:00
c2ddcc937e
Some fixes for the `coin' plugin
...
Hey, I'm pretty new to Tcl, leave me alone.
2014-07-24 00:33:29 +02:00
9d0a276f93
Port the `coin' plugin from VitaminA
2014-07-24 00:01:00 +02:00
4bc674a559
Update the README
2014-07-21 05:10:25 +02:00
a87be6dfd2
Fix two Clang static analyzer issues
...
Overflowing memory allocations should crash or exit anyway.
2014-07-19 22:35:12 +02:00
027333e56a
Fix some compiler warnings
...
`-Weverything' seems to have found a few problems.
Also enabled clang sanitizers by default.
2014-07-19 17:44:49 +02:00
43d34d2473
Add a LIST_HEADER macro
...
To save us from specifying the `next' and `prev' pointers all the time.
It's not perfect, just a tiny bit better.
2014-07-18 19:51:15 +02:00
353230b18b
Cleanup
2014-07-18 01:03:21 +02:00
b2a4d38e8c
Implement TIME, VERSION, MOTD, LUSERS
2014-07-17 23:51:34 +02:00
86e3ae951e
Fix the ERR_NOTREGISTERED message
2014-07-17 23:48:38 +02:00
057a01e2e5
Send LUSERS output upon registration
2014-07-17 23:48:38 +02:00
081b9f6bd2
Fix handling of multiple NICK's before a USER
...
We have to release the old nickname _first_, so that we can register the
same one again (albeit with a slight race condition).
2014-07-17 23:48:38 +02:00
b1780e3efb
Send the user's mode after registration
2014-07-17 23:48:38 +02:00
531b1c71bf
Return `struct error' from irc_initialize_ssl()
2014-07-17 08:43:21 +02:00
a508f85bea
Implement daemonization
...
Now we're a real daemon, yay.
2014-07-16 23:56:42 +02:00
1842fa90dd
Revise usage of print_{error,fatal}()
...
Let's limit print_fatal() to unexpected conditions.
Also added exit_fatal() to save a few lines of code.
2014-07-16 23:56:42 +02:00
e00d2079b5
Only print the first OpenSSL error
...
Otherwise TLS autodetection and TLS communication itself seem to work, yay!
2014-07-16 23:56:09 +02:00
d28b722489
str_map::key_cmp -> str_map::key_xfrm
...
It seemed to be almost too easy to be true, and it actually was.
Now it should work.
2014-07-16 21:23:30 +02:00
996e0912c2
First bugfixes
...
Now we can at least successfully register.
2014-07-16 00:57:55 +02:00
c419946729
Cleanup
...
No functional changes.
2014-07-16 00:54:23 +02:00
2921eed702
Rip out error codes
...
As it turns out, they're rather annoying to maintain, and we don't even need
them. They also clutter the code unnecessarily in their current form.
If it ever comes to having to have them, let's make another version of
error_set(), maybe error_set_with_code(), that makes it possible to also set
an integer within `struct error'.
The only problem with the above solution is when we aggregate errors from
multiple functions (be it by calling one after another, or through nesting of
functions that may return an error).
But let's care about that when the time comes for it.
2014-07-16 00:53:59 +02:00
a2a979ea2e
Make it possible to route messages to syslog
2014-07-15 22:23:53 +02:00
18cb2941f3
Resolve paths relative to XDG config. paths
...
This should make the programs an awful lot less painful to set up.
2014-07-14 22:15:56 +02:00