* Cleanup: Remove nickserv_identify
This setting is no longer needed and is superceded by the
`irc_puppet_prejoin_commands` setting.
* Fix: provide example for IRC services login
Add a line in `config.yml` showing how to handle NickServ (and
potentially other systems) authentication without the presence of the
deprecated config setting.
* Cleanup README
Failed to remove old options from documentation...
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
* Better configuration example
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
* Include message explaining nickserv_identify removal.
When a user launches this program with an older config that includes a
deprecated setting `nickserv_identify` error out and warn the user that
it is deprecated and point to an example config that will help them in
their migration away from deprecated features.
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
This relies on #69
It allows Nick changes in IRC to be shown in Discord. This can be a source of annoyance but some people do want to see that level of info in Discord. This level of info also would be helpful in the future when I add a way for Discord to ignore IRC nicks (can see join/quit/part/nick change and build up a proper hostmask for addition to the config).
Right now this piggybacks on the `show_joinquit` feature and config setting. I think we may want to either rename that config variable to something along the lines of `show_metainfo` or make the relayed stuff fully configurable like
```
irc_relay_cmds:
- PRIVMSG
- JOIN
- QUIT
- PART
- NICK
- CTCP_ACTION
- NOTICE
```
That said if the latter is preferred I'd think using the `show_metainfo` idea as a stop-gap until the latter is implemented a good idea. I'm not sure if it is worth the trouble to implement it that granularly.
This feature allows for when a message matches from Discord towards IRC
or the other way around for the matching message to be dropped
(filtered).
lets say there is an urban dictionary bot on xyz side of the bridge. Now it also does other useful things, but we know that urban dictionary can be floody for say "the longest definition on urbandictionary" query. Luck has it that whoever made the bot decided each line of urban dictionary related output should be prefixed "[ud]" so we can filter on this and keep the remainder of useful things. It also conveniently works for ignoring users that are behind a relay when a channel runs multiple kinds of relays
* Fix: Race conditions and execution order issues
* This should make use of the new features in go-ircevent so as to not
cause panics from concurrent read & write to maps.
* This should also make it where we don't need to reimplement nick
tracking in go-discord-irc by making use of go-ircevent's features to
insure our callbacks are called after/before state tracking has
occured.
* This should keep quits/kicks/parts from showing for puppeted nicks by
maintaining correct order of execution for the corresponding events
where we have more than one handler due to tracking puppets.
* Remove logic issues
Still figuring out RPC, and apparently trying to work with certain data
types without first wrapping them in a struct is a foolish idea.
* Appease linter
We don't really care about the possible error return value at this
moment, and if it shows to be a failure path in the future, that's when
we will care.
* Fix: Error during listener initialization
Added initialization of the listenerCallbackIDs map.
* Bump go.mod to latest go-ircevent
github.com/qaisjp/go-ircevent v0.0.0-20210224154625-07452bfb05b5
* Start work towards cleaning up the code.
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
* Finish cleanup.
* Cleanup superfluous var usage
Co-authored-by: Qais Patankar <qaisjp@gmail.com>
* Panic when errors occur
* Fix inadvertent typo...
Don't even remember editing that line... is it really that early in the
morning?
* Mirror net client changes in mem client
Co-authored-by: Qais Patankar <qaisjp@gmail.com>