1
0
Fork
You've already forked irc
0
dead simple go module for reading and communicating with IRC server via io.Writer compatible interface.
  • Go 100%
Find a file
Yonle 4d52a9fe32 irc/commands: add context.Context forwarding
It could be useful sometime for people that wants timeout, or context.WithValue stuff.
Signed-off-by: Yonle <yonle@lecturify.net>
2025年04月21日 21:30:45 +07:00
commands irc/commands: add context.Context forwarding 2025年04月21日 21:30:45 +07:00
ctcp irc/ctcp: fix bug on no param out of index 2025年04月21日 11:22:39 +07:00
irctext irc/irctext: formatter: maybe fix 2025年04月21日 10:52:02 +07:00
go.mod init. 2025年04月19日 16:21:06 +07:00
irc.go irc: bug fix in Kick() 2025年04月21日 14:39:58 +07:00
irc_test.go irc(test): add 433Error test 2025年04月19日 22:11:04 +07:00
LICENSE init. 2025年04月19日 16:21:06 +07:00
README.md introducing irc/ctcp 2025年04月21日 10:36:25 +07:00
types.go init. 2025年04月19日 16:21:06 +07:00

irc Go Reference

dead simple go module for reading and communicating with IRC server via io.Writer compatible interface.

getting started

packagemainimport("bufio""codeberg.org/Yonle/irc""fmt""net")varbotnick="ircbot"funcmain(){conn,err:=net.Dial("tcp","irc.example.chat:6667")iferr!=nil{fmt.Println(err)return}irc.RegisterUser(conn,"ircbot","IRC Bot")irc.Nick(conn,botnick)b:=bufio.NewScanner(conn)forb.Scan(){line:=b.Text()fmt.Println(line)ifirc.Pong(conn,line){continue}ifirc.Welcome(line){irc.Join(conn,"#example","#chat")continue}ifirc.NicknameIsUsed(line){botnick="ircbot_"irc.Nick(conn,botnick)continue}user,cmd,flags,fullmsg:=irc.ParseLine(line)// echoifcmd=="PRIVMSG"{to:=flags[0]// if to is equals to bot's nick, it's a pm.ifto==botnick{// redirect target to senderto=user.Nick}fmt.Printf("%s <%s> %s",to,user.Nick,fullmsg)irc.Chat(conn,flags[0],fullmsg)}}}

documentation

press this: Go Reference

also check these out:

  • irc/commands: dead simple command handler & registerer so you could implement new commands easily in your bot.
  • irc/irctext: dead simple IRC text formatter (bold, colored, underlined, strikethrough IRC text).
  • irc/ctcp: dead simple ctcp parser, and maker.