Giter Site home page Giter Site logo

Comments (20)

thoj avatar thoj commented on August 15, 2024

from go-ircevent.

thoj avatar thoj commented on August 15, 2024

Wait...

	//Connect Loop
	for {
		if err := ircobj.Connect(bot.Irc_server); err == nil {
			break
		} else {
			log.Println(err)
		}
		time.Sleep(time.Second * 5)
	}
ircobj.Loop()

This part makes no sense.

Try something like this:

ircobj := irc.IRC(bot.Irc_nick, bot.Irc_name)
ircobj.PingFreq = 1 * time.Minute;
ircobj.AddCallback("001", func(e *irc.Event) { ircobj.Join(bot.Irc_channel) })
ircobj.Loop()

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

I just tried

	ircobj.KeepAlive = time.Second
	ircobj.PingFreq = time.Second * 5
	ircobj.Timeout = time.Second * 10

This is what happens when I disable the network

2016/11/25 11:59:42 Connected to irc.freenode.net:6666 (193.10.255.100:6666)
2016/11/25 11:59:42 --> NICK rdddt
2016/11/25 11:59:42 --> USER reddit_bot 0.0.0.0 0.0.0.0 :reddit_bot
2016/11/25 11:59:42 <-- :wolfe.freenode.net NOTICE * :*** Looking up your hostname...
2016/11/25 11:59:42 <-- :wolfe.freenode.net NOTICE * :*** Checking Ident
2016/11/25 11:59:42 <-- :wolfe.freenode.net NOTICE * :*** Found your hostname
2016/11/25 11:59:47 --> PING 1480067987350297119
2016/11/25 11:59:50 <-- :wolfe.freenode.net NOTICE * :*** No Ident response
2016/11/25 11:59:50 <-- :wolfe.freenode.net 433 * rdddt :Nickname is already in use.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 451 * :You have not registered
2016/11/25 11:59:50 --> NICK rdddt_
2016/11/25 11:59:50 <-- :wolfe.freenode.net 001 rdddt_ :Welcome to the freenode Internet Relay Chat Network rdddt_
2016/11/25 11:59:50 --> JOIN #ugjka
2016/11/25 11:59:50 <-- :wolfe.freenode.net 002 rdddt_ :Your host is wolfe.freenode.net[193.10.255.100/6666], running version ircd-seven-1.1.4
2016/11/25 11:59:50 <-- :wolfe.freenode.net 003 rdddt_ :This server was created Thu Sep 22 2016 at 20:50:16 UTC
2016/11/25 11:59:50 <-- :wolfe.freenode.net 004 rdddt_ wolfe.freenode.net ircd-seven-1.1.4 DOQRSZaghilopswz CFILMPQSbcefgijklmnopqrstvz bkloveqjfI
2016/11/25 11:59:50 <-- :wolfe.freenode.net 005 rdddt_ CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQScgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server
2016/11/25 11:59:50 <-- :wolfe.freenode.net 005 rdddt_ CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=100 FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: :are supported by this server
2016/11/25 11:59:50 <-- :wolfe.freenode.net 005 rdddt_ EXTBAN=$,ajrxz WHOX CLIENTVER=3.0 SAFELIST ELIST=CTU :are supported by this server
2016/11/25 11:59:50 <-- :wolfe.freenode.net 251 rdddt_ :There are 139 users and 84671 invisible on 29 servers
2016/11/25 11:59:50 <-- :wolfe.freenode.net 252 rdddt_ 34 :IRC Operators online
2016/11/25 11:59:50 <-- :wolfe.freenode.net 253 rdddt_ 11 :unknown connection(s)
2016/11/25 11:59:50 <-- :wolfe.freenode.net 254 rdddt_ 52836 :channels formed
2016/11/25 11:59:50 <-- :wolfe.freenode.net 255 rdddt_ :I have 6320 clients and 1 servers
2016/11/25 11:59:50 <-- :wolfe.freenode.net 265 rdddt_ 6320 9679 :Current local users 6320, max 9679
2016/11/25 11:59:50 <-- :wolfe.freenode.net 266 rdddt_ 84810 91150 :Current global users 84810, max 91150
2016/11/25 11:59:50 <-- :wolfe.freenode.net 250 rdddt_ :Highest connection count: 9680 (9679 clients) (601810 connections received)
2016/11/25 11:59:50 <-- :wolfe.freenode.net 375 rdddt_ :- wolfe.freenode.net Message of the Day -
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Welcome to wolfe.freenode.net in Stockholm, SE.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Thanks to http://nordu.net/ for sponsoring
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- this server!
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- WOLFE, GENE [1931-].  Prolific writer of short stories and
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- novels. His best-known work is the multi-volume novel The
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Book of the New Sun. He has won multiple awards including
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- the Nebula Award, the World Fantasy Award, The Campell
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Memorial Award and the Locus Award. He was awarded the World
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Fantasy Award for lifetime achievement in 1996.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- Welcome to freenode - supporting the free and open source
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- software communities since 1998.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- By connecting to freenode you indicate that you have read and
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- accept our policies as set out on http://www.freenode.net
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- freenode runs an open proxy scanner. Please join #freenode for
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- any network-related questions or queries, where a number of
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- volunteer staff and helpful users will be happy to assist you.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- You can meet us at FOSSCON (http://www.fosscon.org) where we get
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- together with like-minded FOSS enthusiasts for talks and
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- real-life collaboration.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- We would like to thank Private Internet Access
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- (https://www.privateinternetaccess.com/) and the other
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- organisations that help keep freenode and our other projects
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- running for their sustained support.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- In particular we would like to thank the sponsor
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :- of this server, details of which can be found above.
2016/11/25 11:59:50 <-- :wolfe.freenode.net 372 rdddt_ :-
2016/11/25 11:59:50 <-- :wolfe.freenode.net 376 rdddt_ :End of /MOTD command.
2016/11/25 11:59:50 <-- :rdddt_ MODE rdddt_ :+i
2016/11/25 11:59:52 --> PING 1480067992350211593
2016/11/25 11:59:52 --> NICK rdddt
2016/11/25 11:59:56 <-- :[email protected] JOIN #ugjka
2016/11/25 11:59:56 <-- :wolfe.freenode.net 332 rdddt_ #ugjka :ugjka's test channel
2016/11/25 11:59:56 <-- :wolfe.freenode.net 333 rdddt_ #ugjka [email protected] 1477592404
2016/11/25 11:59:56 <-- :wolfe.freenode.net 353 rdddt_ = #ugjka :rdddt_ rdddt fl1pbot @ugjka @ChanServ
2016/11/25 11:59:56 <-- :wolfe.freenode.net 366 rdddt_ #ugjka :End of /NAMES list.
2016/11/25 11:59:56 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480067992350211593
2016/11/25 11:59:56 Lag: 4.350 s
2016/11/25 11:59:56 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 11:59:56 --> NICK rdddt_
2016/11/25 11:59:57 --> PING 1480067997350501894
2016/11/25 11:59:57 --> NICK rdddt
2016/11/25 11:59:57 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480067997350501894
2016/11/25 11:59:57 Lag: 0.032 s
2016/11/25 11:59:57 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 11:59:57 --> NICK rdddt_
2016/11/25 12:00:02 --> PING 1480068002350340658
2016/11/25 12:00:02 --> NICK rdddt
2016/11/25 12:00:02 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068002350340658
2016/11/25 12:00:02 Lag: 0.040 s
2016/11/25 12:00:02 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:02 --> NICK rdddt_
2016/11/25 12:00:07 --> PING 1480068007350631511
2016/11/25 12:00:07 --> NICK rdddt
2016/11/25 12:00:07 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068007350631511
2016/11/25 12:00:07 Lag: 0.034 s
2016/11/25 12:00:07 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:07 --> NICK rdddt_
2016/11/25 12:00:12 --> PING 1480068012350262827
2016/11/25 12:00:12 --> NICK rdddt
2016/11/25 12:00:12 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068012350262827
2016/11/25 12:00:12 Lag: 0.040 s
2016/11/25 12:00:12 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:12 --> NICK rdddt_
2016/11/25 12:00:17 --> PING 1480068017350392462
2016/11/25 12:00:17 --> NICK rdddt
2016/11/25 12:00:17 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068017350392462
2016/11/25 12:00:17 Lag: 0.040 s
2016/11/25 12:00:17 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:17 --> NICK rdddt_
2016/11/25 12:00:22 --> PING 1480068022350556234
2016/11/25 12:00:22 --> NICK rdddt
2016/11/25 12:00:22 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068022350556234
2016/11/25 12:00:22 Lag: 0.025 s
2016/11/25 12:00:22 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:22 --> NICK rdddt_
2016/11/25 12:00:27 --> PING 1480068027350558791
2016/11/25 12:00:27 --> NICK rdddt
2016/11/25 12:00:27 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068027350558791
2016/11/25 12:00:27 Lag: 0.040 s
2016/11/25 12:00:27 <-- :wolfe.freenode.net 433 rdddt_ rdddt :Nickname is already in use.
2016/11/25 12:00:27 --> NICK rdddt_
2016/11/25 12:00:28 <-- :[email protected] QUIT :Ping timeout: 245 seconds
2016/11/25 12:00:32 --> PING 1480068032350290266
2016/11/25 12:00:32 --> NICK rdddt
2016/11/25 12:00:32 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068032350290266
2016/11/25 12:00:32 Lag: 0.034 s
2016/11/25 12:00:32 <-- :[email protected] NICK :rdddt
2016/11/25 12:00:37 --> PING 1480068037350532127
2016/11/25 12:00:37 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068037350532127
2016/11/25 12:00:37 Lag: 0.042 s
2016/11/25 12:00:42 --> PING 1480068042350559823
2016/11/25 12:00:42 --> PING 1480068042350585036
2016/11/25 12:00:42 <-- :wolfe.freenode.net PONG wolfe.freenode.net :1480068042350559823
2016/11/25 12:00:42 Lag: 0.041 s
2016/11/25 12:00:47 --> PING 1480068047350263974
2016/11/25 12:00:52 --> PING 1480068052350320310
2016/11/25 12:00:57 --> PING 1480068057350540810
2016/11/25 12:01:02 --> PING 1480068062350354015
2016/11/25 12:01:07 --> PING 1480068067350245192
2016/11/25 12:01:12 --> PING 1480068072350285925
2016/11/25 12:01:17 --> PING 1480068077350246919
2016/11/25 12:01:22 --> PING 1480068082350426190
2016/11/25 12:01:27 --> PING 1480068087350257519
2016/11/25 12:01:32 --> PING 1480068092350261162
2016/11/25 12:01:37 --> PING 1480068097350240091
2016/11/25 12:01:42 --> PING 1480068102350251083
2016/11/25 12:01:42 --> PING 1480068102350270849
2016/11/25 12:01:47 --> PING 1480068107350433405
2016/11/25 12:01:52 --> PING 1480068112350209450
2016/11/25 12:01:57 --> PING 1480068117350249988
2016/11/25 12:02:02 --> PING 1480068122350247150
2016/11/25 12:02:07 --> PING 1480068127350568516
2016/11/25 12:02:12 --> PING 1480068132350259469
2016/11/25 12:02:17 --> PING 1480068137350340133
2016/11/25 12:02:22 --> PING 1480068142350487693
2016/11/25 12:02:27 --> PING 1480068147350485281
2016/11/25 12:02:32 --> PING 1480068152350531112
2016/11/25 12:02:37 --> PING 1480068157350493037
2016/11/25 12:02:42 --> PING 1480068162350265034
2016/11/25 12:02:42 --> PING 1480068162350380625

pings go on forever until I enable the network then it halts and nothing happens

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Here the same thing happens with your example code

[ugjka@ChakraPC simple]$ go run simple.go
2016/11/25 12:17:48 Connected to irc.freenode.net:7000 (193.10.255.100:7000)
2016/11/25 12:17:48 --> NICK ugtest1
2016/11/25 12:17:48 --> USER IRCTestSSL 0.0.0.0 0.0.0.0 :IRCTestSSL
2016/11/25 12:17:48 <-- :wolfe.freenode.net NOTICE * :*** Looking up your hostname...
2016/11/25 12:17:48 NOTICE (0) >> &irc.Event{Code:"NOTICE", Raw:":wolfe.freenode.net NOTICE * :*** Looking up your hostname...", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"*", "*** Looking up your hostname..."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:48 <-- :wolfe.freenode.net NOTICE * :*** Checking Ident
2016/11/25 12:17:48 NOTICE (0) >> &irc.Event{Code:"NOTICE", Raw:":wolfe.freenode.net NOTICE * :*** Checking Ident", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"*", "*** Checking Ident"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:48 <-- :wolfe.freenode.net NOTICE * :*** Found your hostname
2016/11/25 12:17:48 NOTICE (0) >> &irc.Event{Code:"NOTICE", Raw:":wolfe.freenode.net NOTICE * :*** Found your hostname", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"*", "*** Found your hostname"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net NOTICE * :*** No Ident response
2016/11/25 12:17:54 NOTICE (0) >> &irc.Event{Code:"NOTICE", Raw:":wolfe.freenode.net NOTICE * :*** No Ident response", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"*", "*** No Ident response"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 001 ugtest1 :Welcome to the freenode Internet Relay Chat Network ugtest1
2016/11/25 12:17:54 001 (2) >> &irc.Event{Code:"001", Raw:":wolfe.freenode.net 001 ugtest1 :Welcome to the freenode Internet Relay Chat Network ugtest1", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "Welcome to the freenode Internet Relay Chat Network ugtest1"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 002 ugtest1 :Your host is wolfe.freenode.net[193.10.255.100/7000], running version ircd-seven-1.1.4
2016/11/25 12:17:54 --> JOIN #ugjka
2016/11/25 12:17:54 002 (0) >> &irc.Event{Code:"002", Raw:":wolfe.freenode.net 002 ugtest1 :Your host is wolfe.freenode.net[193.10.255.100/7000], running version ircd-seven-1.1.4", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "Your host is wolfe.freenode.net[193.10.255.100/7000], running version ircd-seven-1.1.4"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 003 ugtest1 :This server was created Thu Sep 22 2016 at 20:50:16 UTC
2016/11/25 12:17:54 003 (0) >> &irc.Event{Code:"003", Raw:":wolfe.freenode.net 003 ugtest1 :This server was created Thu Sep 22 2016 at 20:50:16 UTC", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "This server was created Thu Sep 22 2016 at 20:50:16 UTC"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 004 ugtest1 wolfe.freenode.net ircd-seven-1.1.4 DOQRSZaghilopswz CFILMPQSbcefgijklmnopqrstvz bkloveqjfI
2016/11/25 12:17:54 004 (0) >> &irc.Event{Code:"004", Raw:":wolfe.freenode.net 004 ugtest1 wolfe.freenode.net ircd-seven-1.1.4 DOQRSZaghilopswz CFILMPQSbcefgijklmnopqrstvz bkloveqjfI", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "wolfe.freenode.net", "ircd-seven-1.1.4", "DOQRSZaghilopswz", "CFILMPQSbcefgijklmnopqrstvz", "bkloveqjfI"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 005 ugtest1 CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQScgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server
2016/11/25 12:17:54 005 (0) >> &irc.Event{Code:"005", Raw:":wolfe.freenode.net 005 ugtest1 CHANTYPES=# EXCEPTS INVEX CHANMODES=eIbq,k,flj,CFLMPQScgimnprstz CHANLIMIT=#:120 PREFIX=(ov)@+ MAXLIST=bqeI:100 MODES=4 NETWORK=freenode KNOCK STATUSMSG=@+ CALLERID=g :are supported by this server", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "CHANTYPES=#", "EXCEPTS", "INVEX", "CHANMODES=eIbq,k,flj,CFLMPQScgimnprstz", "CHANLIMIT=#:120", "PREFIX=(ov)@+", "MAXLIST=bqeI:100", "MODES=4", "NETWORK=freenode", "KNOCK", "STATUSMSG=@+", "CALLERID=g", "are supported by this server"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 005 ugtest1 CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=100 FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: :are supported by this server
2016/11/25 12:17:54 005 (0) >> &irc.Event{Code:"005", Raw:":wolfe.freenode.net 005 ugtest1 CASEMAPPING=rfc1459 CHARSET=ascii NICKLEN=16 CHANNELLEN=50 TOPICLEN=390 ETRACE CPRIVMSG CNOTICE DEAF=D MONITOR=100 FNC TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR: :are supported by this server", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "CASEMAPPING=rfc1459", "CHARSET=ascii", "NICKLEN=16", "CHANNELLEN=50", "TOPICLEN=390", "ETRACE", "CPRIVMSG", "CNOTICE", "DEAF=D", "MONITOR=100", "FNC", "TARGMAX=NAMES:1,LIST:1,KICK:1,WHOIS:1,PRIVMSG:4,NOTICE:4,ACCEPT:,MONITOR:", "are supported by this server"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 005 ugtest1 EXTBAN=$,ajrxz WHOX CLIENTVER=3.0 SAFELIST ELIST=CTU :are supported by this server
2016/11/25 12:17:54 005 (0) >> &irc.Event{Code:"005", Raw:":wolfe.freenode.net 005 ugtest1 EXTBAN=$,ajrxz WHOX CLIENTVER=3.0 SAFELIST ELIST=CTU :are supported by this server", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "EXTBAN=$,ajrxz", "WHOX", "CLIENTVER=3.0", "SAFELIST", "ELIST=CTU", "are supported by this server"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 251 ugtest1 :There are 140 users and 84937 invisible on 29 servers
2016/11/25 12:17:54 251 (0) >> &irc.Event{Code:"251", Raw:":wolfe.freenode.net 251 ugtest1 :There are 140 users and 84937 invisible on 29 servers", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "There are 140 users and 84937 invisible on 29 servers"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 252 ugtest1 34 :IRC Operators online
2016/11/25 12:17:54 252 (0) >> &irc.Event{Code:"252", Raw:":wolfe.freenode.net 252 ugtest1 34 :IRC Operators online", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "34", "IRC Operators online"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 253 ugtest1 13 :unknown connection(s)
2016/11/25 12:17:54 253 (0) >> &irc.Event{Code:"253", Raw:":wolfe.freenode.net 253 ugtest1 13 :unknown connection(s)", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "13", "unknown connection(s)"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 254 ugtest1 52826 :channels formed
2016/11/25 12:17:54 254 (0) >> &irc.Event{Code:"254", Raw:":wolfe.freenode.net 254 ugtest1 52826 :channels formed", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "52826", "channels formed"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 255 ugtest1 :I have 6332 clients and 1 servers
2016/11/25 12:17:54 255 (0) >> &irc.Event{Code:"255", Raw:":wolfe.freenode.net 255 ugtest1 :I have 6332 clients and 1 servers", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "I have 6332 clients and 1 servers"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 265 ugtest1 6332 9679 :Current local users 6332, max 9679
2016/11/25 12:17:54 265 (0) >> &irc.Event{Code:"265", Raw:":wolfe.freenode.net 265 ugtest1 6332 9679 :Current local users 6332, max 9679", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "6332", "9679", "Current local users 6332, max 9679"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 266 ugtest1 85077 91150 :Current global users 85077, max 91150
2016/11/25 12:17:54 266 (0) >> &irc.Event{Code:"266", Raw:":wolfe.freenode.net 266 ugtest1 85077 91150 :Current global users 85077, max 91150", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "85077", "91150", "Current global users 85077, max 91150"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 250 ugtest1 :Highest connection count: 9680 (9679 clients) (601939 connections received)
2016/11/25 12:17:54 250 (0) >> &irc.Event{Code:"250", Raw:":wolfe.freenode.net 250 ugtest1 :Highest connection count: 9680 (9679 clients) (601939 connections received)", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "Highest connection count: 9680 (9679 clients) (601939 connections received)"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 375 ugtest1 :- wolfe.freenode.net Message of the Day -
2016/11/25 12:17:54 375 (0) >> &irc.Event{Code:"375", Raw:":wolfe.freenode.net 375 ugtest1 :- wolfe.freenode.net Message of the Day - ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- wolfe.freenode.net Message of the Day - "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Welcome to wolfe.freenode.net in Stockholm, SE.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Welcome to wolfe.freenode.net in Stockholm, SE.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Welcome to wolfe.freenode.net in Stockholm, SE."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Thanks to http://nordu.net/ for sponsoring
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Thanks to http://nordu.net/ for sponsoring", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Thanks to http://nordu.net/ for sponsoring"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- this server!
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- this server!", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- this server!"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- WOLFE, GENE [1931-].  Prolific writer of short stories and
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- WOLFE, GENE [1931-].  Prolific writer of short stories and", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- WOLFE, GENE [1931-].  Prolific writer of short stories and"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- novels. His best-known work is the multi-volume novel The
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- novels. His best-known work is the multi-volume novel The", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- novels. His best-known work is the multi-volume novel The"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Book of the New Sun. He has won multiple awards including
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Book of the New Sun. He has won multiple awards including", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Book of the New Sun. He has won multiple awards including"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- the Nebula Award, the World Fantasy Award, The Campell
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- the Nebula Award, the World Fantasy Award, The Campell", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- the Nebula Award, the World Fantasy Award, The Campell"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Memorial Award and the Locus Award. He was awarded the World
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Memorial Award and the Locus Award. He was awarded the World", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Memorial Award and the Locus Award. He was awarded the World"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Fantasy Award for lifetime achievement in 1996.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Fantasy Award for lifetime achievement in 1996.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Fantasy Award for lifetime achievement in 1996."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- Welcome to freenode - supporting the free and open source
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- Welcome to freenode - supporting the free and open source", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- Welcome to freenode - supporting the free and open source"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- software communities since 1998.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- software communities since 1998.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- software communities since 1998."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- By connecting to freenode you indicate that you have read and
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- By connecting to freenode you indicate that you have read and", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- By connecting to freenode you indicate that you have read and"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- accept our policies as set out on http://www.freenode.net
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- accept our policies as set out on http://www.freenode.net", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- accept our policies as set out on http://www.freenode.net"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- freenode runs an open proxy scanner. Please join #freenode for
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- freenode runs an open proxy scanner. Please join #freenode for", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- freenode runs an open proxy scanner. Please join #freenode for"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- any network-related questions or queries, where a number of
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- any network-related questions or queries, where a number of", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- any network-related questions or queries, where a number of"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- volunteer staff and helpful users will be happy to assist you.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- volunteer staff and helpful users will be happy to assist you.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- volunteer staff and helpful users will be happy to assist you."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- You can meet us at FOSSCON (http://www.fosscon.org) where we get
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- You can meet us at FOSSCON (http://www.fosscon.org) where we get", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- You can meet us at FOSSCON (http://www.fosscon.org) where we get"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- together with like-minded FOSS enthusiasts for talks and
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- together with like-minded FOSS enthusiasts for talks and", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- together with like-minded FOSS enthusiasts for talks and"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- real-life collaboration.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- real-life collaboration.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- real-life collaboration."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- We would like to thank Private Internet Access
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- We would like to thank Private Internet Access", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- We would like to thank Private Internet Access"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- (https://www.privateinternetaccess.com/) and the other
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- (https://www.privateinternetaccess.com/) and the other", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- (https://www.privateinternetaccess.com/) and the other"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- organisations that help keep freenode and our other projects
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- organisations that help keep freenode and our other projects", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- organisations that help keep freenode and our other projects"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- running for their sustained support.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- running for their sustained support.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- running for their sustained support."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- In particular we would like to thank the sponsor
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- In particular we would like to thank the sponsor", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- In particular we would like to thank the sponsor"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :- of this server, details of which can be found above.
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :- of this server, details of which can be found above.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "- of this server, details of which can be found above."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 372 ugtest1 :-
2016/11/25 12:17:54 372 (0) >> &irc.Event{Code:"372", Raw:":wolfe.freenode.net 372 ugtest1 :-  ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "-  "}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :wolfe.freenode.net 376 ugtest1 :End of /MOTD command.
2016/11/25 12:17:54 376 (0) >> &irc.Event{Code:"376", Raw:":wolfe.freenode.net 376 ugtest1 :End of /MOTD command.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "End of /MOTD command."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:17:54 <-- :ugtest1 MODE ugtest1 :+Zi
2016/11/25 12:17:54 MODE (0) >> &irc.Event{Code:"MODE", Raw:":ugtest1 MODE ugtest1 :+Zi", Nick:"", Host:"", Source:"ugtest1", User:"", Arguments:[]string{"ugtest1", "+Zi"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:00 <-- :[email protected] JOIN #ugjka
2016/11/25 12:18:00 JOIN (0) >> &irc.Event{Code:"JOIN", Raw:":[email protected] JOIN #ugjka", Nick:"ugtest1", Host:"m90-141-116-229.cust.tele2.lv", Source:"[email protected]", User:"~IRCTestSS", Arguments:[]string{"#ugjka"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:00 <-- :wolfe.freenode.net 332 ugtest1 #ugjka :ugjka's test channel
2016/11/25 12:18:00 332 (0) >> &irc.Event{Code:"332", Raw:":wolfe.freenode.net 332 ugtest1 #ugjka :ugjka's test channel", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "#ugjka", "ugjka's test channel"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:00 <-- :wolfe.freenode.net 333 ugtest1 #ugjka [email protected] 1477592404
2016/11/25 12:18:00 333 (0) >> &irc.Event{Code:"333", Raw:":wolfe.freenode.net 333 ugtest1 #ugjka [email protected] 1477592404", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "#ugjka", "[email protected]", "1477592404"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:00 <-- :wolfe.freenode.net 353 ugtest1 = #ugjka :ugtest1 fl1pbot @ugjka @ChanServ
2016/11/25 12:18:00 353 (0) >> &irc.Event{Code:"353", Raw:":wolfe.freenode.net 353 ugtest1 = #ugjka :ugtest1 fl1pbot @ugjka @ChanServ", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "=", "#ugjka", "ugtest1 fl1pbot @ugjka @ChanServ"}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:00 <-- :wolfe.freenode.net 366 ugtest1 #ugjka :End of /NAMES list.
2016/11/25 12:18:00 366 (1) >> &irc.Event{Code:"366", Raw:":wolfe.freenode.net 366 ugtest1 #ugjka :End of /NAMES list.", Nick:"", Host:"", Source:"wolfe.freenode.net", User:"", Arguments:[]string{"ugtest1", "#ugjka", "End of /NAMES list."}, Connection:(*irc.Connection)(0xc42007c580)}
2016/11/25 12:18:48 --> PING 1480069128801716751
2016/11/25 12:19:48 --> PING 1480069188801705205
2016/11/25 12:20:48 --> PING 1480069248801746027
2016/11/25 12:21:48 --> PING 1480069308801703885
2016/11/25 12:22:48 --> PING 1480069368801683341
2016/11/25 12:22:48 --> PING 1480069368801704433
2016/11/25 12:23:48 --> PING 1480069428801515716
2016/11/25 12:23:48 --> PING 1480069428801542047
2016/11/25 12:24:48 --> PING 1480069488801468549
2016/11/25 12:24:48 --> PING 1480069488801642529
2016/11/25 12:25:48 --> PING 1480069548801835542
2016/11/25 12:25:48 --> PING 1480069548801906573
2016/11/25 12:26:48 --> PING 1480069608801527188
2016/11/25 12:26:48 --> PING 1480069608801543951
2016/11/25 12:27:48 --> PING 1480069668801709535
2016/11/25 12:27:48 --> PING 1480069668801733142
2016/11/25 12:28:48 --> PING 1480069728801688589

from go-ircevent.

thoj avatar thoj commented on August 15, 2024

hmm how do you disable the network?

from go-ircevent.

thoj avatar thoj commented on August 15, 2024

I suspect the timeout on the socket is just long.

from go-ircevent.

thoj avatar thoj commented on August 15, 2024

https://github.com/thoj/go-ircevent/blob/master/irc.go#L145 this line should error out on a disconnected socket.

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

hmm how do you disable the network?
sudo systemctl stop [email protected]

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Hmm, maybe something wrong with my go installation... Need to check, since I'm the only one with this problem

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Have you read this? http://felixge.de/2014/08/26/tcp-keepalive-with-golang.html

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

I'm experimenting with this right now on my vps, will see how it goes

diff --git a/irc.go b/irc.go
index 3b99bbd..924f780 100644
--- a/irc.go
+++ b/irc.go
@@ -408,10 +408,13 @@ func (irc *Connection) Connect(server string) error {
        }
 
        if irc.UseTLS {
-               dialer := &net.Dialer{Timeout: irc.Timeout}
+               dialer := &net.Dialer{Timeout: irc.Timeout, KeepAlive: time.Second * 30}
+               //dialer.KeepAlive = time.Second * 3
                irc.socket, err = tls.DialWithDialer(dialer, "tcp", irc.Server, irc.TLSConfig)
        } else {
-               irc.socket, err = net.DialTimeout("tcp", irc.Server, irc.Timeout)
+               dialer := &net.Dialer{Timeout: irc.Timeout, KeepAlive: time.Second * 30}
+               irc.socket, err = dialer.Dial("tcp", irc.Server)
+
        }
        if err != nil {
                return err

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Ok I went as far as to convert irc.socket to *net.TCPConn which means I can you use tcpkeepalive package to close the socket after a timeout

tcpkeepalive.SetKeepAlive(irc.socket, time.Second*30, 4, time.Second*5)

Now when I observe netstat, the socket gets indeed closed after 30 seconds BUT the bot still hangs up and doesn't recconnect

If you have any pointers it would be helpful, I'll keep investigating

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

This is how things look now

diff --git a/irc.go b/irc.go
index 3b99bbd..7f4fd62 100644
--- a/irc.go
+++ b/irc.go
@@ -30,6 +30,8 @@ import (
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/felixge/tcpkeepalive"
 )
 
 const (
@@ -406,16 +408,19 @@ func (irc *Connection) Connect(server string) error {
 	if len(irc.user) == 0 {
 		return errors.New("empty 'user'")
 	}
-
-	if irc.UseTLS {
-		dialer := &net.Dialer{Timeout: irc.Timeout}
-		irc.socket, err = tls.DialWithDialer(dialer, "tcp", irc.Server, irc.TLSConfig)
-	} else {
-		irc.socket, err = net.DialTimeout("tcp", irc.Server, irc.Timeout)
+	tcpAddr, err := net.ResolveTCPAddr("tcp", irc.Server)
+	if err != nil {
+		return err
 	}
+	irc.socket, err = net.DialTCP("tcp", nil, tcpAddr)
 	if err != nil {
 		return err
 	}
+	tcpkeepalive.SetKeepAlive(irc.socket, time.Second*30, 4, time.Second*5)
+
+	if irc.UseTLS {
+		irc.socket = tls.Client(irc.socket, irc.TLSConfig)
+	}
 
 	irc.stopped = false
 	irc.Log.Printf("Connected to %s (%s)\n", irc.Server, irc.socket.RemoteAddr())

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

I inserted bunch of log.Println's

2016/11/26 01:19:31 <-- :wolfe.freenode.net 366 ugtest1_ #ugjka :End of /NAMES list.
2016/11/26 01:20:22 Read loop read!
2016/11/26 01:20:54 --> PING 1480116054965684243
2016/11/26 01:20:54 Writeloop write!
2016/11/26 01:20:54 Errchan Writeloop write tcp 192.168.1.8:52900->193.10.255.100:7000: write: broken pipe

So broken connection is actually detected

But I guess something is wrong with

defer irc.Done()

I don't even understand what it is suppossed to work i Can't find any Done method in code

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Ok, I think I found the culprit
this line blocks the whole program https://github.com/thoj/go-ircevent/blob/master/irc.go#L201
If I comment it out, Recconnect works fine

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024
2016/11/26 11:49:48 Error while reconnecting: dial tcp: lookup irc.freenode.net on 192.168.1.1:53: dial udp 192.168.1.1:53: connect: network is unreachable
2016/11/26 11:50:42 --> PING 1480153842946349831
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x45c172]

goroutine 20 [running]:
panic(0x58a1a0, 0xc42000c180)
        /nix/store/3fwkn18sg722w66lda985g7r68d8gysi-go-1.7.3/share/go/src/runtime/panic.go:500 +0x1a1
crypto/tls.(*Conn).SetWriteDeadline(0x0, 0xecfcb522e, 0x38690790, 0x68a3a0, 0x1, 0x1)
        /nix/store/3fwkn18sg722w66lda985g7r68d8gysi-go-1.7.3/share/go/src/crypto/tls/conn.go:129 +0x22
github.com/thoj/go-ircevent.(*Connection).writeLoop(0xc42007a580)
        /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:143 +0x24c
created by github.com/thoj/go-ircevent.(*Connection).Connect
        /home/ugjka/goworks/src/github.com/thoj/go-ircevent/irc.go:428 +0x708
exit status 2

I suppose that's what irc.Wait() is supposed to prevent

from go-ircevent.

thoj avatar thoj commented on August 15, 2024

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

I think you need close(irc.end) before irc.Wait() to make other threads exit when there's an erron in some other thread

diff --git a/irc.go b/irc.go                                                                                                                                    
index 3b99bbd..7820759 100644                                                                                                                                   
--- a/irc.go                                                                                                                                                    
+++ b/irc.go                                                                                                                                                    
@@ -198,6 +198,7 @@ func (irc *Connection) Loop() {                                                                                                             
        errChan := irc.ErrorChan()                                                                                                                              
        for !irc.isQuitting() {                                                                                                                                 
                err := <-errChan                                                                                                                                
+               close(irc.end)
                irc.Wait()
                for !irc.isQuitting() {
                        irc.Log.Printf("Error, disconnected: %s\n", err)

Atleast now it is working fine on my setup

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

#91 Proposed fix

from go-ircevent.

ugjka avatar ugjka commented on August 15, 2024

Fixed!

from go-ircevent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.