Skip to content

Commit

Permalink
feat(monitor): remove upyun
Browse files Browse the repository at this point in the history
  • Loading branch information
Akagi201 committed Oct 26, 2017
1 parent 897e65b commit cc0b092
Showing 1 changed file with 16 additions and 119 deletions.
135 changes: 16 additions & 119 deletions cmd/monitor/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@ import (
"time"

"github.com/Akagi201/cryptotrader/binance"
"github.com/Akagi201/cryptotrader/viabtc"
"github.com/Akagi201/cryptotrader/yunbi"
mapset "github.com/deckarep/golang-set"
"github.com/nlopes/slack"
log "github.com/sirupsen/logrus"
)
Expand All @@ -33,7 +30,7 @@ func stringToInterfaceSlice(s []string) []interface{} {
func main() {
// ctx := context.Background()
slackApi := slack.New(Opts.SlackKey)
slackApi.SetDebug(false)
slackApi.SetDebug(true)

rtm := slackApi.NewRTM()
go rtm.ManageConnection()
Expand Down Expand Up @@ -65,140 +62,40 @@ func main() {
}
}()

yunbiApi := yunbi.New("", "")
viabtcApi := viabtc.New("", "")
binanceApi := binance.New("", "")

go func() {
for {
sntTicker, err := yunbiApi.GetTicker("cny", "snt")
zrxTicker, err := binanceApi.GetTicker("btc", "zrx")
if err != nil {
log.Errorf("Get SNT ticker failed, err: %v", err)
}
ethTicker, err := yunbiApi.GetTicker("cny", "eth")
if err != nil {
log.Errorf("Get ETH ticker failed, err: %v", err)
}

btcTicker, err := viabtcApi.GetTicker("cny", "btc")
if err != nil {
log.Error("Get BTC ticker failed, err: %v", err)
}

bccTicker, err := viabtcApi.GetTicker("cny", "bcc")
if err != nil {
log.Errorf("Get BCC ticker failed, err: %v", err)
}

dntTicker, err := binanceApi.GetTicker("eth", "dnt")
if err != nil {
log.Errorf("Get DNT ticker failed, err: %v", err)
log.Errorf("Get ZRX ticker failed, err: %v", err)
}

channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("SNT Current: %v", sntTicker.Last), channel.ID))
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ETH Current: %v", ethTicker.Last), channel.ID))
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("BCC Current: %v", bccTicker.Last), channel.ID))
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("BTC Current: %v", btcTicker.Last), channel.ID))
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("DNT Current: %v", dntTicker.Last), channel.ID))
channel := FindChannelByName(rtm, "monitor")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ZRX Current: %v", zrxTicker.Last), channel.ID))

time.Sleep(30 * time.Minute)
}
}()

var oldTickerList []string
var newTickerList []string
var err error
oldTickerList, err = yunbiApi.GetTickerList()
if err != nil {
log.Fatalf("Yunbi get ticker list failed, err: %v", err)
}
newTickerList, err = yunbiApi.GetTickerList()
if err != nil {
log.Fatalf("Yunbi get ticker list failed, err: %v", err)
}

go func() {
for {
newTickerList, err = yunbiApi.GetTickerList()
newListInterface := stringToInterfaceSlice(newTickerList)
oldListInterface := stringToInterfaceSlice(oldTickerList)
newSet := mapset.NewSetFromSlice(newListInterface)
oldSet := mapset.NewSetFromSlice(oldListInterface)
if len(newSet.Difference(oldSet).ToSlice()) > 0 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("Yunbi Got New Coin: %v", newSet.Difference(oldSet).ToSlice()), channel.ID))
}
//oldTickerList = newTickerList
time.Sleep(30 * time.Minute)
}
}()

for {
sntTicker, err := yunbiApi.GetTicker("cny", "snt")
if err != nil {
log.Errorf("Get SNT ticker failed, err: %v", err)
}

log.Infof("SNT Latest: %+v", sntTicker.Last)
if sntTicker.Last > 0.4 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("SNT High: %v", sntTicker.Last), channel.ID))
}

if sntTicker.Last < 0.15 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("SNT Low: %v", sntTicker.Last), channel.ID))
}

ethTicker, err := yunbiApi.GetTicker("cny", "eth")
if err != nil {
log.Error("Get ETH ticker failed, err: %v", err)
}

log.Infof("ETH latest: %+v", ethTicker.Last)
if ethTicker.Last > 2500 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ETH High: %v", ethTicker.Last), channel.ID))
}

if ethTicker.Last < 1500 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ETH Low: %v", ethTicker.Last), channel.ID))
}

btcTicker, err := viabtcApi.GetTicker("cny", "btc")
if err != nil {
log.Error("Get BTC ticker failed, err: %v", err)
}

log.Infof("BTC Latest: %+v", btcTicker.Last)

if btcTicker.Last > 31000 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("BTC High: %v", btcTicker.Last), channel.ID))
}

if btcTicker.Last < 20000 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("BTC Low: %v", btcTicker.Last), channel.ID))
}

dntTicker, err := binanceApi.GetTicker("eth", "dnt")
zrxTicker, err := binanceApi.GetTicker("btc", "zrx")
if err != nil {
log.Error("Get DNT ticker failed, err: %v", err)
log.Error("Get ZRX ticker failed, err: %v", err)
}

log.Infof("DNT Latest: %+v", dntTicker.Last)
log.Infof("ZRX Latest: %v", zrxTicker.Last)

if dntTicker.Last > 0.000285 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("DNT High: %v", dntTicker.Last), channel.ID))
if zrxTicker.Last > 0.0001 {
fmt.Println("High")
channel := FindChannelByName(rtm, "monitor")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ZRX High: %v", zrxTicker.Last), channel.ID))
}

if dntTicker.Last < 0.0002 {
channel := FindChannelByName(rtm, "devops")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("DNT Low: %v", dntTicker.Last), channel.ID))
if zrxTicker.Last < 0.00009 {
fmt.Println("Low")
channel := FindChannelByName(rtm, "monitor")
rtm.SendMessage(rtm.NewOutgoingMessage(fmt.Sprintf("ZRX Low: %v", zrxTicker.Last), channel.ID))
}

time.Sleep(5 * time.Second)
Expand Down

0 comments on commit cc0b092

Please sign in to comment.