Add return constants package, and common message sender functions
Trying to resolve as much as possible ``gometalinter`` issues.
This commit is contained in:
28
lib/sender/exported.go
Normal file
28
lib/sender/exported.go
Normal file
@@ -0,0 +1,28 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package sender
|
||||
|
||||
import (
|
||||
"source.wtfteam.pro/i2_bot/i2_bot/lib/appcontext"
|
||||
"source.wtfteam.pro/i2_bot/i2_bot/lib/sender/senderinterface"
|
||||
)
|
||||
|
||||
var (
|
||||
c *appcontext.Context
|
||||
)
|
||||
|
||||
// Sender is a function-handling struct for sender
|
||||
type Sender struct{}
|
||||
|
||||
// New is a appcontext initialization function
|
||||
func New(ac *appcontext.Context) {
|
||||
c = ac
|
||||
s := &Sender{}
|
||||
c.RegisterSenderInterface(senderinterface.SenderInterface(s))
|
||||
}
|
||||
|
||||
// Init is an initialization function for sender
|
||||
func (s *Sender) Init() {
|
||||
c.Log.Info("Initializing Sender...")
|
||||
}
|
30
lib/sender/sender.go
Normal file
30
lib/sender/sender.go
Normal file
@@ -0,0 +1,30 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package sender
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
// SendMarkdownAnswer sends markdown-powered message as reply
|
||||
func (s *Sender) SendMarkdownAnswer(update *tgbotapi.Update, message string) {
|
||||
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
|
||||
msg.ParseMode = "Markdown"
|
||||
|
||||
_, err := c.Bot.Send(msg)
|
||||
if err != nil {
|
||||
c.Log.Error(err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
// SendMarkdownMessageToChatID sends markdown-powered message to specified chat
|
||||
func (s *Sender) SendMarkdownMessageToChatID(chatID int64, message string) {
|
||||
msg := tgbotapi.NewMessage(chatID, message)
|
||||
msg.ParseMode = "Markdown"
|
||||
|
||||
_, err := c.Bot.Send(msg)
|
||||
if err != nil {
|
||||
c.Log.Error(err.Error())
|
||||
}
|
||||
}
|
16
lib/sender/senderinterface/senderinterface.go
Normal file
16
lib/sender/senderinterface/senderinterface.go
Normal file
@@ -0,0 +1,16 @@
|
||||
// i2_bot – Instinct PokememBro Bot
|
||||
// Copyright (c) 2018 Vladimir "fat0troll" Hodakov
|
||||
|
||||
package senderinterface
|
||||
|
||||
import (
|
||||
"github.com/go-telegram-bot-api/telegram-bot-api"
|
||||
)
|
||||
|
||||
// SenderInterface implements Sender for importing via appcontext
|
||||
type SenderInterface interface {
|
||||
Init()
|
||||
|
||||
SendMarkdownAnswer(update *tgbotapi.Update, message string)
|
||||
SendMarkdownMessageToChatID(chatID int64, message string)
|
||||
}
|
Reference in New Issue
Block a user