-
Notifications
You must be signed in to change notification settings - Fork 1
/
telegram.go
76 lines (60 loc) · 2.43 KB
/
telegram.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package main
import (
"log"
"strings"
"time"
"gopkg.in/tucnak/telebot.v2"
)
var selector *telebot.ReplyMarkup
var approve telebot.Btn
var disapprove telebot.Btn
func initTelegramBot() {
var err error
Channel = &telebot.Chat{ID: ChannelId}
AdminGroup = &telebot.Chat{ID: AdminGroupId}
Bot, err = telebot.NewBot(telebot.Settings{
Token: TelegramToken,
ParseMode: telebot.ModeHTML,
Poller: &telebot.LongPoller{Timeout: 10 * time.Second},
})
check(err)
selector = &telebot.ReplyMarkup{}
approve = selector.Data("👍🏻", "approve")
disapprove = selector.Data("👎🏻", "disapprove")
selector.Inline(
selector.Row(approve, disapprove),
)
Bot.Handle(&approve, func(c *telebot.Callback) {
c.Message.Text = strings.Replace(c.Message.Text, "Azienda:", "<b>Azienda</b>:", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Email:", "<b>Email</b>:", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Sede di Lavoro:", "<b>Sede di Lavoro</b>:", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Ruolo:", "<b>Ruolo</b>:", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Salario:", "<b>Salario</b>:", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Descrizione", "<b>Descrizione</b>", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Competenze Richieste", "<b>Competenze Richieste</b>", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Benefits", "<b>Benefits</b>", -1)
c.Message.Text = strings.Replace(c.Message.Text, "Disponibilità:", "<b>Disponibilità</b>:", -1)
sendMessageToChannel(c.Message.Text)
Bot.Edit(c.Message, c.Message.Text)
message := "Approvato da " + c.Sender.Username
Bot.Reply(c.Message, message)
})
Bot.Handle(&disapprove, func(c *telebot.Callback) {
Bot.Edit(c.Message, c.Message.Text)
message := "Rifiutato da " + c.Sender.Username
Bot.Reply(c.Message, message)
})
Bot.Handle("/start", func(m *telebot.Message) {
Bot.Send(m.Sender, "Ciao! 👋 \n\n Sei in cerca di sviluppatori ed esperti del mondo IT? Invia la tua proposta e raggiungi studenti, laureandi e neolaureati del Dipartimento di Matematica e Informatica dell'Università degli Studi di Catania. \n\n https://open-job-dmi.unictdev.org/")
})
}
func startTelegramBot() {
log.Println("[Bot] Starting Telegram Bot...")
Bot.Start()
}
func sendOfferToAdminGroup(message string) {
Bot.Send(AdminGroup, message, selector)
}
func sendMessageToChannel(message string) {
Bot.Send(Channel, message)
}