exit if url or user/pass is wrong
This commit is contained in:
parent
cc726dd758
commit
2fd5c8a1ce
@ -36,6 +36,8 @@ var (
|
|||||||
|
|
||||||
// interval in seconds for live updates, affects "active", "info", "speed"
|
// interval in seconds for live updates, affects "active", "info", "speed"
|
||||||
interval time.Duration = 2
|
interval time.Duration = 2
|
||||||
|
// duration controls how many intervals will happen
|
||||||
|
duration = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
// init flags
|
// init flags
|
||||||
@ -58,7 +60,7 @@ func init() {
|
|||||||
// make sure that we have the two madatory arguments: telegram token & master's handler.
|
// make sure that we have the two madatory arguments: telegram token & master's handler.
|
||||||
if BotToken == "" ||
|
if BotToken == "" ||
|
||||||
Master == "" {
|
Master == "" {
|
||||||
fmt.Fprintf(os.Stderr, "Error: Mandatory argument missing!\n\n")
|
fmt.Fprintf(os.Stderr, "Error: Mandatory argument missing! (-token or -master)\n\n")
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
@ -71,29 +73,13 @@ func init() {
|
|||||||
|
|
||||||
// init transmission
|
// init transmission
|
||||||
func init() {
|
func init() {
|
||||||
// set transmission.Config, needed to establish a connection with transmission
|
var err error
|
||||||
// conf := transmission.Config{
|
Client, err = transmission.New(RpcUrl, Username, Password)
|
||||||
// Address: RpcUrl,
|
if err != nil {
|
||||||
// User: Username,
|
fmt.Fprintf(os.Stderr, "ERROR: Make sure you have the right URL, Username and Password\n")
|
||||||
// Password: Password,
|
os.Exit(1)
|
||||||
// }
|
}
|
||||||
|
|
||||||
// transmission.New() never returns an error, we will ignore it and test with client.Session.Update()
|
|
||||||
Client = transmission.New(RpcUrl, Username, Password)
|
|
||||||
// if err := Client.Session.Update(); err != nil {
|
|
||||||
|
|
||||||
// try to predict the error message, as it vague coming from pyed/transmission
|
|
||||||
// if strings.HasPrefix(err.Error(), "invalid character") { // means the user or the pass is wrong.
|
|
||||||
// fmt.Fprintf(os.Stderr, "Transmission's Username or Password is wrong.\n\n")
|
|
||||||
|
|
||||||
// } else { // any other error is probaby because of the URL
|
|
||||||
// fmt.Fprintf(os.Stderr, "Error: Couldn't connect to: %s\n", RpcUrl)
|
|
||||||
// fmt.Fprintf(os.Stderr, "Make sure to pass the right full RPC URL e.g. http://localhost:9091/transmission/rpc\n\n")
|
|
||||||
// }
|
|
||||||
// // send the vague error message too
|
|
||||||
// fmt.Fprintf(os.Stderr, "JSONError: %s\n", err)
|
|
||||||
// os.Exit(1)
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// init telegram
|
// init telegram
|
||||||
@ -486,9 +472,9 @@ func active(ud tgbotapi.Update) {
|
|||||||
|
|
||||||
msgID := send(buf.String(), ud.Message.Chat.ID)
|
msgID := send(buf.String(), ud.Message.Chat.ID)
|
||||||
|
|
||||||
// keep the active list live for 20 seconds
|
// keep the active list live for 'duration * interval'
|
||||||
time.Sleep(time.Second * interval)
|
time.Sleep(time.Second * interval)
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < duration; i++ {
|
||||||
// reset the buffer to reuse it
|
// reset the buffer to reuse it
|
||||||
buf.Reset()
|
buf.Reset()
|
||||||
|
|
||||||
@ -839,10 +825,10 @@ func info(ud tgbotapi.Update, tokens []string) {
|
|||||||
// send it
|
// send it
|
||||||
msgID := send(info, ud.Message.Chat.ID)
|
msgID := send(info, ud.Message.Chat.ID)
|
||||||
|
|
||||||
// this go-routine will make the info live for 20 seconds
|
// this go-routine will make the info live for 'duration * interval'
|
||||||
// takes trackers so we don't have to regex them over and over.
|
// takes trackers so we don't have to regex them over and over.
|
||||||
go func(trackers string, torrentID, msgID int) {
|
go func(trackers string, torrentID, msgID int) {
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < duration; i++ {
|
||||||
torrent, err := Client.GetTorrent(torrentID)
|
torrent, err := Client.GetTorrent(torrentID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue // skip this iteration if there's an error retrieving the torrent's info
|
continue // skip this iteration if there's an error retrieving the torrent's info
|
||||||
@ -1038,7 +1024,7 @@ func stats(ud tgbotapi.Update) {
|
|||||||
func speed(ud tgbotapi.Update) {
|
func speed(ud tgbotapi.Update) {
|
||||||
// keep track of the returned message ID from 'send()' to edit the message.
|
// keep track of the returned message ID from 'send()' to edit the message.
|
||||||
var msgID int
|
var msgID int
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < duration; i++ {
|
||||||
stats, err := Client.GetStats()
|
stats, err := Client.GetStats()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
send("speed: "+err.Error(), ud.Message.Chat.ID)
|
send("speed: "+err.Error(), ud.Message.Chat.ID)
|
||||||
|
Loading…
Reference in New Issue
Block a user