Skip to content

Commit 2d1b1fa

Browse files
authored
Merge pull request #4 from phpgeeks-club/dimns-patch-3
Many bug fixed
2 parents 5cb9224 + 3f33d45 commit 2d1b1fa

File tree

1 file changed

+52
-30
lines changed

1 file changed

+52
-30
lines changed

main.go

+52-30
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
package main
22

33
import (
4+
"flag"
45
"log"
56
"os"
6-
"strings"
77

88
tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
99
)
1010

11+
var debug *bool
12+
13+
func init() {
14+
debug = flag.Bool("debug", false, "Debug mode")
15+
flag.Parse()
16+
}
17+
1118
func main() {
1219
bot, err := tgbotapi.NewBotAPI(os.Getenv("GEEKSONATOR_TELEGRAM_BOT_TOKEN"))
1320
if err != nil {
@@ -16,17 +23,24 @@ func main() {
1623

1724
log.Printf("Authorized on account %s", bot.Self.UserName)
1825

26+
if *debug {
27+
log.Printf("Debug mode running")
28+
}
29+
1930
u := tgbotapi.NewUpdate(0)
2031
u.Timeout = 60 // long polling
2132

2233
updates := bot.GetUpdatesChan(u)
23-
commands := [22]string{"/help", "/хелп", "/php", "/пхп", "/jun", "/джун", "/go", "/го", "/db", "/дб", "/lara", "/лара", "/js", "/жс", "/hr", "/хр", "/fl", "/фл", "/code", "/код", "/nometa", "/номета"}
2434

2535
for update := range updates {
2636
if update.Message == nil {
2737
continue
2838
}
2939

40+
if *debug {
41+
log.Printf("Message: \"%s\"", update.Message.Text)
42+
}
43+
3044
authorIsAdmin := false
3145
message := ""
3246

@@ -43,15 +57,17 @@ func main() {
4357
}
4458
}
4559

60+
if *debug {
61+
authorIsAdmin = true
62+
}
63+
4664
if !authorIsAdmin {
4765
continue
4866
}
4967

50-
for _, command := range commands {
51-
if update.Message.Text == command || strings.Contains(update.Message.Text, " "+command+" ") {
52-
switch command {
53-
case "/help", "/хелп":
54-
message = `БОТ РАБОТАЕТ ТОЛЬКО У АДМИНОВ.
68+
switch update.Message.Text {
69+
case "/help", "/хелп":
70+
message = `БОТ РАБОТАЕТ ТОЛЬКО У АДМИНОВ.
5571
5672
Команды можно писать обычным сообщением и ответом на сообщение.
5773
@@ -65,36 +81,42 @@ func main() {
6581
[<code>/js</code>, <code>/жс</code>] @jsChat - Чат посвященный программированию на языке JavaScript.
6682
[<code>/hr</code>, <code>/хр</code>] @jobGeeks - Топ вакансии (250 000+ р/мес).
6783
[<code>/fl</code>, <code>/фл</code>] @freelanceGeeks - IT фриланс, ищем исполнителей и заказчиков, делимся опытом и проблемами связанными с фрилансом.
68-
[<code>/code</code>, <code>/код</code>] Код в нашем чате ложут на pastebin.org, gist.github.com или любой аналогичный ресурс (с)der_Igel
84+
[<code>/job</code>, <code>/раб</code>] Объединяет сразу две команды: <code>/hr</code> и <code>/fl</code>.
85+
[<code>/code</code>, <code>/код</code>] Код в нашем чате <a href="https://t.me/phpGeeks/1318040">ложут</a> на pastebin.org, gist.github.com или любой аналогичный ресурс (с)der_Igel
6986
[<code>/nometa</code>, <code>/номета</code>] nometa.xyz`
70-
case "/php", "/пхп":
71-
message = "@phpGeeks - Best PHP chat"
72-
case "/jun", "/джун":
73-
message = "@phpGeeksJunior - Группа для новичков. Не стесняйтесь задавать вопросы по php."
74-
case "/go", "/го":
75-
message = "@golangGeeks - Приветствуем всех в нашем гетеросексуальном чате гоферов!"
76-
case "/db", "/бд":
77-
message = "@dbGeeks - Чат про базы данных, их устройство и приемы работы с ними."
78-
case "/lara", "/лара":
79-
message = "@laravel_pro - Официальный чат для всех Laravel программистов."
80-
case "/js", "/жс":
81-
message = "@jsChat - Чат посвященный программированию на языке JavaScript."
82-
case "/hr", "/хр":
83-
message = "@jobGeeks - Топ вакансии (250 000+ р/мес)."
84-
case "/fl", "/фл":
85-
message = "@freelanceGeeks - IT фриланс, ищем исполнителей и заказчиков, делимся опытом и проблемами связанными с фрилансом."
86-
case "/code", "/код":
87-
message = "Код в нашем чате ложут на pastebin.org, gist.github.com или любой аналогичный ресурс (с)der_Igel"
88-
case "/nometa", "/номета":
89-
message = "nometa.xyz"
90-
}
91-
}
87+
case "/php", "/пхп":
88+
message = "@phpGeeks - Best PHP chat"
89+
case "/jun", "/джун":
90+
message = "@phpGeeksJunior - Группа для новичков. Не стесняйтесь задавать вопросы по php."
91+
case "/go", "/го":
92+
message = "@golangGeeks - Приветствуем всех в нашем гетеросексуальном чате гоферов!"
93+
case "/db", "/бд":
94+
message = "@dbGeeks - Чат про базы данных, их устройство и приемы работы с ними."
95+
case "/lara", "/лара":
96+
message = "@laravel_pro - Официальный чат для всех Laravel программистов."
97+
case "/js", "/жс":
98+
message = "@jsChat - Чат посвященный программированию на языке JavaScript."
99+
case "/hr", "/хр":
100+
message = "@jobGeeks - Топ вакансии (250 000+ р/мес)."
101+
case "/fl", "/фл":
102+
message = "@freelanceGeeks - IT фриланс, ищем исполнителей и заказчиков, делимся опытом и проблемами связанными с фрилансом."
103+
case "/job", "/раб":
104+
message = `@jobGeeks - Топ вакансии (250 000+ р/мес).
105+
@freelanceGeeks - IT фриланс, ищем исполнителей и заказчиков, делимся опытом и проблемами связанными с фрилансом.`
106+
case "/code", "/код":
107+
message = "Код в нашем чате <a href=\"https://t.me/phpGeeks/1318040\">ложут</a> на pastebin.org, gist.github.com или любой аналогичный ресурс (с)der_Igel"
108+
case "/nometa", "/номета":
109+
message = "nometa.xyz"
92110
}
93111

94112
if message == "" {
95113
continue
96114
}
97115

116+
if *debug {
117+
log.Printf("Output: %s", message)
118+
}
119+
98120
msg := tgbotapi.NewMessage(update.Message.Chat.ID, message)
99121
msg.ParseMode = "html"
100122
msg.DisableWebPagePreview = true

0 commit comments

Comments
 (0)