matrix-org / matrix-appservice-irc

Node.js IRC bridge for Matrix
Apache License 2.0
461 stars 149 forks source link

Handling +d when joining channels #489

Open eggy opened 6 years ago

eggy commented 6 years ago

IRCHighWay IRCd: InspIRCd-2.0.x We have +d set in our main channel, as a result when a new Matrix client connects, it needs to handle +d correctly. Currently the first message will be lost due to +d. The following error message is found in the logs: 2017-08-12 22:17:41 ERROR:client-connection Server: irc.irchighway.net (Eggy[m]) Error: {"prefix":"infinity.de.eu.irchighway.net","server":"infinity.de.eu.irchighway.net","command":"err_cannotsendtochan","rawCommand":"404","commandType":"error","args":["Eggy[m]","#irchighway","You must wait 15 seconds after joining to send to channel (+d)"]}

Spydar007 commented 6 years ago

As a reference, InspIRCd's cmode +d is from the m_delaymsg module, and Disallows a user from talking in the channel unless they've been joined for [num] seconds.

The syntax for this mode is d [num].

Half-Shot commented 6 years ago

This actually sounds like quite low hanging fruit, I'll investigate.