Fix linter errors and make Makefile more portable

This commit is contained in:
eleksir
2023-09-02 15:42:41 -07:00
parent 716fc59700
commit 91eac5cb6d
5 changed files with 21 additions and 6 deletions

View File

@@ -6,8 +6,16 @@ all: clean build
build: build:
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
# powershell
ifeq ($(SHELL),sh.exe)
SET CGO_ENABLED=0
go build ${BUILDOPTS} -o "buny-jabber-bot" collection.go types.go globals.go lib.go event_parser.go buny.go main.go
else
# jetbrains golang
CGO_ENABLED=0 CGO_ENABLED=0
go build ${BUILDOPTS} -o "buny-jabber-bot" collection.go types.go globals.go lib.go event_parser.go buny.go main.go go build ${BUILDOPTS} -o "buny-jabber-bot" collection.go types.go globals.go lib.go event_parser.go buny.go main.go
endif
# bash/git bash
else else
CGO_ENABLED=0 go build ${BUILDOPTS} -o "buny-jabber-bot" collection.go types.go globals.go lib.go event_parser.go buny.go main.go CGO_ENABLED=0 go build ${BUILDOPTS} -o "buny-jabber-bot" collection.go types.go globals.go lib.go event_parser.go buny.go main.go
endif endif
@@ -17,9 +25,15 @@ clean:
upgrade: upgrade:
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
rmdir vendor /s /q # jetbrains golang, powershell
ifeq ($(SHELL),sh.exe)
if exist vendor del /F /S /Q vendor >nul
# git bash case
else else
rm -rf vendor RM -r vendor
endif
else
RM -r vendor
endif endif
go get -d -u -t ./... go get -d -u -t ./...
go mod tidy go mod tidy

View File

@@ -3,7 +3,7 @@
Простой бот, работающий по протоколу xmpp. Его задача - банить абьюзеров чата. Простой бот, работающий по протоколу xmpp. Его задача - банить абьюзеров чата.
Этот бот автоматизирует уборку человеческой грязи. Самый важный вопрос, который следует себе задать перед его Этот бот автоматизирует уборку человеческой грязи. Самый важный вопрос, который следует себе задать перед его
использованием - а не забаню ли я кого-то не того? использованием - а не забаню ли я кого-то лишнего?
## Что он может? ## Что он может?

View File

@@ -1,7 +1,7 @@
Конечно, очень печально, что приходится развивать свои навыки программизмов на программах с такой задачей. Но жизнь не Конечно, очень печально, что приходится развивать свои навыки программизмов на программах с такой задачей. Но жизнь не
всегда радует своими проявлениями. всегда радует своими проявлениями.
История бота довольно банальна: к нам в чятик стал набергать один товарищ и нести чушь про политоту. Если его банить История бота довольно банальна: к нам в чятик стал набегать один товарищ и нести чушь про политоту. Если его банить
классическими средствами, он просто создавал новый аккаунт и снова набегал гадить. классическими средствами, он просто создавал новый аккаунт и снова набегал гадить.
И таким образом родилась идея как-то автоматизировать его бан. И таким образом родилась идея как-то автоматизировать его бан.

View File

@@ -187,6 +187,7 @@ func buny(v xmpp.Presence) error { //nolint:gocognit,gocyclo
} }
log.Debugf("Checking nick %s vs room %s blacklist regex %s", evilJid, room, nickRegexp) log.Debugf("Checking nick %s vs room %s blacklist regex %s", evilJid, room, nickRegexp)
if re.MatchString(evilNick) { if re.MatchString(evilNick) {
// Баним именно jid // Баним именно jid
if id, err := squash(room, evilJid, bEntry.ReasonEnable, v.Type); err != nil { if id, err := squash(room, evilJid, bEntry.ReasonEnable, v.Type); err != nil {

4
lib.go
View File

@@ -762,7 +762,7 @@ func probeMUCLiveness() { //nolint:gocognit
log.Debugf("Sending MUC ping from %s to %s", talk.JID(), room) log.Debugf("Sending MUC ping from %s to %s", talk.JID(), room)
if err := talk.PingS2S(talk.JID(), room); err != nil { if err := talk.PingS2S(talk.JID(), room); err != nil {
err := fmt.Errorf("Unable to ping MUC %s: %v", room, err) err := fmt.Errorf("unable to ping MUC %s: %w", room, err)
gTomb.Kill(err) gTomb.Kill(err)
} }
}(room) }(room)
@@ -838,7 +838,7 @@ func randomPhrase(list []string) string {
} }
// interfaceToStringSlice превращает данный интерфейс в слайс строк. // interfaceToStringSlice превращает данный интерфейс в слайс строк.
// Если может, конечно :) // Если может, конечно :) .
func interfaceToStringSlice(iface interface{}) []string { func interfaceToStringSlice(iface interface{}) []string {
var mySlice []string var mySlice []string