mirror of
https://github.com/idanoo/autobrr
synced 2025-07-22 16:29:12 +00:00
feat(notifications): Telegram set sender (#1723)
feat(notifications): add conditional sender payload for telegram
This commit is contained in:
parent
51265b6702
commit
e56bf1f8fc
3 changed files with 6 additions and 0 deletions
|
@ -64,6 +64,7 @@ type NotificationPayload struct {
|
|||
Protocol ReleaseProtocol // torrent, usenet
|
||||
Implementation ReleaseImplementation // irc, rss, api
|
||||
Timestamp time.Time
|
||||
Sender string
|
||||
}
|
||||
|
||||
type NotificationType string
|
||||
|
|
|
@ -26,6 +26,7 @@ type MessageBuilderPlainText struct{}
|
|||
// BuildBody constructs the body of the notification message.
|
||||
func (b *MessageBuilderPlainText) BuildBody(payload domain.NotificationPayload) string {
|
||||
messageParts := []ConditionMessagePart{
|
||||
{payload.Sender != "", "%v\n", []interface{}{payload.Sender}},
|
||||
{payload.Subject != "" && payload.Message != "", "%v\n%v", []interface{}{payload.Subject, payload.Message}},
|
||||
{payload.ReleaseName != "", "New release: %v\n", []interface{}{payload.ReleaseName}},
|
||||
{payload.Size > 0, "Size: %v\n", []interface{}{humanize.Bytes(payload.Size)}},
|
||||
|
@ -45,6 +46,7 @@ type MessageBuilderHTML struct{}
|
|||
|
||||
func (b *MessageBuilderHTML) BuildBody(payload domain.NotificationPayload) string {
|
||||
messageParts := []ConditionMessagePart{
|
||||
{payload.Sender != "", "<b>%v</b>\n", []interface{}{html.EscapeString(payload.Sender)}},
|
||||
{payload.Subject != "" && payload.Message != "", "<b>%v</b> %v\n", []interface{}{html.EscapeString(payload.Subject), html.EscapeString(payload.Message)}},
|
||||
{payload.ReleaseName != "", "<b>New release:</b> %v\n", []interface{}{html.EscapeString(payload.ReleaseName)}},
|
||||
{payload.Size > 0, "<b>Size:</b> %v\n", []interface{}{humanize.Bytes(payload.Size)}},
|
||||
|
|
|
@ -63,6 +63,9 @@ func NewTelegramSender(log zerolog.Logger, settings domain.Notification) domain.
|
|||
}
|
||||
|
||||
func (s *telegramSender) Send(event domain.NotificationEvent, payload domain.NotificationPayload) error {
|
||||
|
||||
payload.Sender = "autobrr"
|
||||
|
||||
message := s.builder.BuildBody(payload)
|
||||
m := TelegramMessage{
|
||||
ChatID: s.Settings.Channel,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue