Commit Graph

383 Commits

Author SHA1 Message Date
kayos@tcp.direct ecb18f926d Fix: go mod 2021-10-09 04:51:24 -07:00
kayos dc8283d62d
Update README.md 2021-10-09 04:47:49 -07:00
kayos@tcp.direct 2825aaba2b fix listener bot not using keys from configs, add mutex for discord messages in an attempt to fix out of order messages 2021-10-07 11:46:24 -07:00
kayos@tcp.direct 8c7d67ec38 gg no re. 2021-10-01 05:52:55 -07:00
kayos@tcp.direct 351c878da5 gg no re. 2021-10-01 05:52:51 -07:00
kayos@tcp.direct 1a37542bc4 so close 2021-10-01 03:14:42 -07:00
kayos@tcp.direct a6f8e3d5c2 better error handling 2021-10-01 02:57:57 -07:00
kayos@tcp.direct 3f930246f9 Bugfix 2021-10-01 02:25:28 -07:00
kayos@tcp.direct 9b7f5296e7 Begin: replace irc library with girc 2021-10-01 02:10:02 -07:00
Qais Patankar 922e41f095 Clarify what "Sometimes" means 2021-05-23 22:45:24 +01:00
Qais Patankar 28d6dfcb16 Add allowed_discord_ids setting 2021-05-23 22:43:09 +01:00
Qais Patankar fd95473c11
update feature list 2021-05-20 01:55:58 +01:00
Qais Patankar 4bd3b1a0d7
Merge pull request #121 from AbstractBeliefs/irc-spoiler-highlighting
Allow colour based spoilers on IRC
2021-04-17 22:32:57 +01:00
Gareth Pulham 93d1e5c4fd Enable IRC->Discord spoilers
The code for this is already there in irc/format/markdown.go, it was
just blocked on account of the colours being stripped off early.
2021-04-15 23:33:31 +01:00
Gareth Pulham 2f08b672e1 Add black-on-black colouring for discord spoilers 2021-04-15 22:48:00 +01:00
Qais Patankar 725266ad20
Potentially fix #115 channel case sensitivity
Thanks @Rapman4 for the suggested fix
2021-03-29 22:50:04 +01:00
Qais Patankar 2fa56031ec Fix #111 React messages should convert Discord username to IRC 2021-03-09 00:05:47 +00:00
Qais Patankar 737fac1fc2 remove deadcode 2021-03-08 23:38:14 +00:00
Qais Patankar eb24b2c7aa Fix #100: replace [reply] with more organic irc-style reply
It should say

PersonRepliedToUsername: MESSAGE

instead of

[reply] MESSAGE
2021-03-08 23:34:06 +00:00
Qais Patankar 2e06fecee7 Remove mee6 hardcode 2021-03-08 23:17:23 +00:00
Qais Patankar f49adac4df Fix #110 case-sensitive discord nick comparisons 2021-03-08 23:09:10 +00:00
Qais Patankar 7e25f188ba Make discordBot.Session no longer embedded 2021-03-08 22:51:38 +00:00
Qais Patankar df0d7b5a2a Change avatar_url default to something cuter 2021-03-08 22:15:36 +00:00
llmII 95ad01adb3
Remove nickserv_identify (#107)
* 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>
2021-03-08 10:15:25 +00:00
llmII 33a4c606f1
Cleanup: remove webhook_prefix (#108)
This setting is no longer needed as the bridge assumes it will be able
to manage webhooks and can do so automatically. Closes #101.
2021-03-06 00:05:22 +00:00
llmII 0426fb71f9
Initial Relay Nick Changes Feature (#72)
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.
2021-03-04 00:38:06 +00:00
llmII e120d9ab62
Feature: Ignore messages containing matching text (#92)
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
2021-03-04 00:36:42 +00:00
llmII d7d9a07ea4
Fix race conditions and execution order (#95)
* 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>
2021-03-03 23:33:31 +00:00
h1x0r1 0d9f480a8d
missing irc_server_name in example conf (#98) 2021-03-03 23:30:56 +00:00
Qais Patankar b087126cc1
Merge pull request #91 from qaisjp/varys 2021-02-27 13:27:16 +00:00
Qais Patankar 7b444e6957 Bump github.com/qaisjp/go-ircevent to v0.0.0-20210223011734-62863beddc83 2021-02-24 02:56:01 +00:00
Qais Patankar e6d8d5e549 Prevent empty channel mappings in live reloads 2021-02-21 19:24:47 +00:00
Qais Patankar d0a7cd58cf Bump github.com/qaisjp/go-ircevent to v0.0.0-20210221185252-a5424835fdbc 2021-02-21 18:55:04 +00:00
Qais Patankar 64d693e0e4 Bump go.mod to go 1.15 2021-02-21 18:51:56 +00:00
Qais Patankar 512abdab02 Fix golangci-lint complaints 2021-02-21 17:17:27 +00:00
Qais Patankar 2bbf51d29f Merge branch 'master' into varys 2021-02-21 17:10:14 +00:00
Qais Patankar f7f3a4822d Fix nicktrack NICK
Addendum to deed929035
2021-02-21 17:05:43 +00:00
Qais Patankar e9e06e4ffb Fix more puppet detection cases
Addendum to deed929035
2021-02-21 16:49:47 +00:00
Qais Patankar a3b67b161e varys: fix some missing things 2021-02-21 16:39:17 +00:00
Qais Patankar 3211e03807 varys: add callback hack 2021-02-21 16:31:20 +00:00
Qais Patankar 7b7b4e7671 varys: support nickname changing 2021-02-21 16:25:27 +00:00
Qais Patankar 2e5b4a1d94 Remove unnecessary todo 2021-02-21 16:17:06 +00:00
Qais Patankar 941de2a5c4 varys: implement interpolation params 2021-02-21 16:14:50 +00:00
Qais Patankar df4d7b3aaa varys: implement SendRaw 2021-02-21 16:06:06 +00:00
Qais Patankar 25b76ee1d0 varys: remove puppet debug mode (this needs to be reimplemented at the config level) 2021-02-21 15:40:05 +00:00
Qais Patankar ada1f87bef varys: implement Connect and QuitIfConnected 2021-02-21 15:39:27 +00:00
Qais Patankar 080fd878ce varys: pass lint 2021-02-21 14:34:30 +00:00
Qais Patankar ad6f0c89f2 varys: add GetUIDToNicks 2021-02-21 14:29:35 +00:00
Qais Patankar eca5f4708b varys: add missing error handling 2021-02-21 14:29:35 +00:00
Qais Patankar 49de499a3e varys: move to irc_manager.go 2021-02-21 14:29:35 +00:00