Archived
0

Чистка кода, конфигов, док-ции, прогон lint-ера

* Подчищены импорты
* Исправлен формат printf
* Исправлены концы строк с dos-формата на unix-формат
* Задавлена часть "лишних" сообщений golangci-lint
This commit is contained in:
eleksir
2021-10-17 17:24:45 +03:00
parent 7a01ede0c8
commit 01bb29ff21
6 changed files with 166 additions and 161 deletions

6
.gitignore vendored
View File

@@ -1,3 +1,3 @@
.idea/** .idea/**
galichbot.ini galichbot.ini
galichbot galichbot

View File

@@ -1,21 +1,21 @@
MIT License MIT License
Copyright (c) 2021 Sergei Fedosoff <eleksir@gmail.com> Copyright (c) 2021 Sergei Fedosoff <eleksir@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software. copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.

4
README
View File

@@ -13,8 +13,8 @@
Для сборки понадобятся интернеты и компилятор go версии 1.16.5. Собиралось и тестировалось всё на нём. Для сборки понадобятся интернеты и компилятор go версии 1.16.5. Собиралось и тестировалось всё на нём.
Чтобы запустить бота понадобится: Чтобы запустить бота понадобится:
* Файлик galichbot.ini, в котором нужно всего 2 значения telegram id пользователя и * Файлик galichbot.ini, в котором нужно всего 2 значения: telegram id пользователя и ключ бота, который можно получить у
ключ бота, который можно получить у BotFather в Телеграме. BotFather в Телеграме.
* А ещё нужен файлик phrases.txt, в котором через разделитель "--" (без кавычек) будут перечислены фразы, которыми бот * А ещё нужен файлик phrases.txt, в котором через разделитель "--" (без кавычек) будут перечислены фразы, которыми бот
будет отвечать на любое сообщение пользователя-жертвы. будет отвечать на любое сообщение пользователя-жертвы.
* Устойчивое соединение с интернетами. * Устойчивое соединение с интернетами.

View File

@@ -1,2 +1,2 @@
BotApiKey = Ключ_который_выдаёт_BotFather_при_регистрации_бота BotApiKey = Ключ_который_выдаёт_BotFather_при_регистрации_бота
VictimID = Циферный_telegram_id_жертвы VictimID = Циферный_telegram_id_жертвы

27
main.go
View File

@@ -4,7 +4,6 @@ import (
"io/ioutil" "io/ioutil"
"log" "log"
"math/rand" "math/rand"
"os"
"strings" "strings"
"time" "time"
@@ -14,24 +13,28 @@ import (
func main() { func main() {
cfg, err := ini.Load("galichbot.ini") cfg, err := ini.Load("galichbot.ini")
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
token := cfg.Section("").Key("BotApiKey").String() token := cfg.Section("").Key("BotApiKey").String()
victim, err := cfg.Section("").Key("VictimID").Int64() victim, err := cfg.Section("").Key("VictimID").Int64()
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
fileName := "phrases.txt" fileName := "phrases.txt"
fileBytes, err := ioutil.ReadFile(fileName) fileBytes, err := ioutil.ReadFile(fileName)
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
speeches := strings.Split(string(fileBytes), "--") speeches := strings.Split(string(fileBytes), "--")
bot, err := micha.NewBot(token) bot, err := micha.NewBot(token)
if err != nil { if err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
@@ -42,20 +45,22 @@ func main() {
for update := range bot.Updates() { for update := range bot.Updates() {
if update.Message != nil { if update.Message != nil {
log.Printf( log.Printf(
"%s %s %s (%d) from %s (%d) says: $s", "%s %s %s (%d) from %s (%s) says: %s",
update.Message.From.Username, update.Message.From.Username,
update.Message.From.FirstName, update.Message.From.FirstName,
update.Message.From.LastName, update.Message.From.LastName,
update.Message.From.ID, update.Message.From.ID,
update.Message.Chat.Title, update.Message.Chat.Title,
update.Message.Chat.ID, update.Message.Chat.ID,
update.Message.Text update.Message.Text,
) )
if update.Message.From.ID == victim { if update.Message.From.ID == victim {
n := rand.Int() % len(speeches) n := rand.Int() % len(speeches) //nolint:gosec
var options = micha.SendMessageOptions{ReplyToMessageID: update.Message.MessageID}
var options = micha.SendMessageOptions{ReplyToMessageID: update.Message.MessageID} //nolint:exhaustivestruct
_, err = bot.SendMessage(update.Message.Chat.ID, speeches[n], &options) _, err = bot.SendMessage(update.Message.Chat.ID, speeches[n], &options)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
} else { } else {

View File

@@ -1,122 +1,122 @@
если хочешь, считай ответом 🤓 если хочешь, считай ответом 🤓
дочитывать я всё равно не буду. дочитывать я всё равно не буду.
-- --
ну и пошли вы нахуй ну и пошли вы нахуй
-- --
какую же хуйню несёшь, даже не дочитал какую же хуйню несёшь, даже не дочитал
-- --
шульман спроси шульман спроси
-- --
может у тебя и сейчас хуй во рту 🤷‍♀ может у тебя и сейчас хуй во рту 🤷‍♀
-- --
хуй будешь? а я не предложу 😂 хуй будешь? а я не предложу 😂
-- --
это ты Андрея бейтишь такой толстотой? 😏 это ты Андрея бейтишь такой толстотой? 😏
-- --
угадайки дебила часть очередная 🙂 угадайки дебила часть очередная 🙂
-- --
шульман главное доверяй 🤣 шульман главное доверяй 🤣
-- --
то недоступно связанным 🤷‍♀ то недоступно связанным 🤷‍♀
-- --
два варианта: инфантильная безответственность и безответственный инфантилизм 😇 два варианта: инфантильная безответственность и безответственный инфантилизм 😇
-- --
дебил пытается в угадайки играть 😀 дебил пытается в угадайки играть 😀
-- --
долбоёб не думает долбоёб не думает
у него рефлексы у него рефлексы
-- --
Сергей Галиченко Сергей Галиченко
убирает за мышами говно убирает за мышами говно
-- --
охуительные истории от знотаков охуительные истории от знотаков
-- --
на каждом ответственность на каждом ответственность
-- --
типичная суета дебила 🌚 типичная суета дебила 🌚
-- --
куар-код нужен чтобы набить тебе ДОЛБОЁБ 🌚 куар-код нужен чтобы набить тебе ДОЛБОЁБ 🌚
можно молотком можно молотком
-- --
не переживай, тебя не выебу не переживай, тебя не выебу
-- --
признал что целка жопная признал что целка жопная
молодец, отрабатывает сберегая для любимого 😏 молодец, отрабатывает сберегая для любимого 😏
шульмана наверное 😂 шульмана наверное 😂
-- --
ну не может такое быть обманом же 😀 ну не может такое быть обманом же 😀
-- --
немножечко обосрался борец, но с кем не бывает 😀 немножечко обосрался борец, но с кем не бывает 😀
-- --
с мудаками не аргументируют 🙂 с мудаками не аргументируют 🙂
-- --
ты мудак, вот и вся причина ты мудак, вот и вся причина
-- --
как есть 🤷‍♀ ты говноед как есть 🤷‍♀ ты говноед
-- --
опять мозг украли опять мозг украли
-- --
НЕ НАСОСАЛ А ПОДАРИЛИ НЕ НАСОСАЛ А ПОДАРИЛИ
-- --
ебать ты конджурер ебать ты конджурер
-- --
ебанат о критическом мышлении 😂 ебанат о критическом мышлении 😂
-- --
новые шедевры ебанины 👀 новые шедевры ебанины 👀
-- --
чтд, административка чтд, административка
-- --
натужно жидким, если угодно натужно жидким, если угодно
-- --
ну вот ты насрал себе на лицо ну вот ты насрал себе на лицо
и? 🤔 и? 🤔
-- --
ебанутый возмутился. иди химтрейлы нюхай ебанутый возмутился. иди химтрейлы нюхай
-- --
ну и? хуле ты это постишь ну и? хуле ты это постишь
-- --
твоя оценка будет твоя оценка будет
но от ебанутого, срущего себе на голову но от ебанутого, срущего себе на голову
меня не очень тронет 🙂 меня не очень тронет 🙂
-- --
ты мудак 🤷‍♀ ты мудак 🤷‍♀
-- --
ты эм полностью уважение моё потерял 🤷‍♀ ты эм полностью уважение моё потерял 🤷‍♀
напомню напомню
ты мудак, мать твоя дура ты мудак, мать твоя дура
а уж как ты себе на голову срёшь, оно не очень важно. некуда там аргументы а уж как ты себе на голову срёшь, оно не очень важно. некуда там аргументы
-- --
да уж, поссать в глаза проще да уж, поссать в глаза проще
и уместнее и уместнее
-- --
санитаров попроси, может выдадут тебе от очень надо таблеточек 😁 санитаров попроси, может выдадут тебе от очень надо таблеточек 😁
но, думаю, продолжишь пиздеть как тебя угнетают но, думаю, продолжишь пиздеть как тебя угнетают
-- --
вот, опять визги 😏 вот, опять визги 😏
-- --
потоки ебанины от мудака 😌 потоки ебанины от мудака 😌
-- --
ты мудак, мать твоя дура ты мудак, мать твоя дура
-- --
ты в отказе, и мир виноват ты в отказе, и мир виноват
-- --
мамкой размахивая 😇 мамкой размахивая 😇
-- --
могу тебя послать могу тебя послать
в ебало плюнуть не могу, далеко 😇 в ебало плюнуть не могу, далеко 😇
-- --
пиздёж пиздёж
-- --