Handle common CTCP messages

This commit is contained in:
Ken-Håvard Lieng 2020-05-20 04:19:40 +02:00
parent 4816fbfbca
commit 973578bb49
7 changed files with 105 additions and 39 deletions

View file

@ -8,6 +8,7 @@ import (
"github.com/khlieng/dispatch/pkg/irc"
"github.com/khlieng/dispatch/storage"
"github.com/khlieng/dispatch/version"
)
func createNickInUseHandler(i *irc.Client, state *State) func(string) string {
@ -33,6 +34,8 @@ func connectIRC(server *storage.Server, state *State, srcIP []byte) *irc.Client
i := irc.NewClient(server.Nick, server.Username)
i.TLS = server.TLS
i.Realname = server.Realname
i.Version = fmt.Sprintf("Dispatch %s (git: %s)", version.Tag, version.Commit)
i.Source = "https://github.com/khlieng/dispatch"
i.HandleNickInUse = createNickInUseHandler(i, state)
address := server.Host

View file

@ -176,6 +176,10 @@ func (i *ircHandler) mode(msg *irc.Message) {
}
func (i *ircHandler) message(msg *irc.Message) {
if ctcp := msg.ToCTCP(); ctcp != nil && ctcp.Command != "ACTION" {
return
}
message := Message{
ID: betterguid.New(),
Server: i.client.Host,