proper hashtag streaming
This commit is contained in:
parent
ca34330599
commit
0b3bf1cd5f
28
main.go
28
main.go
|
@ -178,7 +178,7 @@ func (s *Server) HandleConn(ctx context.Context) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
err = s.stream(ctx, target, "hashtag", target)
|
err = s.stream(ctx, target, "hashtag", target[1:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ln.Error(err, s.F(), ln.F{"action": "hashtag_stream", "hashtag": target})
|
ln.Error(err, s.F(), ln.F{"action": "hashtag_stream", "hashtag": target})
|
||||||
}
|
}
|
||||||
|
@ -207,19 +207,21 @@ func (s *Server) stream(ctx context.Context, chName, streamName, hashtag string)
|
||||||
s.iw.Writef(":%s JOIN %s", s.nickname, chName)
|
s.iw.Writef(":%s JOIN %s", s.nickname, chName)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
select {
|
for {
|
||||||
case <-ctx.Done():
|
select {
|
||||||
return
|
case <-ctx.Done():
|
||||||
case <-stop:
|
return
|
||||||
return
|
case <-stop:
|
||||||
case <-done:
|
return
|
||||||
return
|
case <-done:
|
||||||
|
return
|
||||||
|
|
||||||
case ev := <-evChan:
|
case ev := <-evChan:
|
||||||
switch ev.Event {
|
switch ev.Event {
|
||||||
case "update":
|
case "update":
|
||||||
st := ev.Data.(madon.Status)
|
st := ev.Data.(madon.Status)
|
||||||
s.iw.Writef(":%s PRIVMSG %s :%s: %s%s", streamName, chName, st.Account.Username, st.SpoilerText+" ", strings.Replace(st.Content, "\n", " ", 0))
|
s.iw.Writef(":%s PRIVMSG %s :%s: %s%s", streamName, chName, st.Account.Username, st.SpoilerText+" ", strings.Replace(st.Content, "\n", " ", 0))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
Loading…
Reference in New Issue