Add per-chat nick setting, update README.md
This commit is contained in:
@@ -33,11 +33,14 @@ func parseEvent(e interface{}) { //nolint:maintidx,gocognit,gocyclo
|
||||
|
||||
// Групповой чятик
|
||||
case "groupchat":
|
||||
log.Debugf("Message from public chat: %s", v.Text)
|
||||
// room := strings.SplitN(v.Remote, "/", 2)[0]
|
||||
nick := strings.SplitN(v.Remote, "/", 2)[1]
|
||||
var (
|
||||
room = strings.SplitN(v.Remote, "/", 2)[0]
|
||||
nick = strings.SplitN(v.Remote, "/", 2)[1]
|
||||
)
|
||||
|
||||
if nick == config.Jabber.Nick {
|
||||
log.Debugf("Message from public chat: %s", v.Text)
|
||||
|
||||
if nick == getBotNickFromRoomConfig(room) {
|
||||
log.Debug("Skipping message from myself")
|
||||
|
||||
return
|
||||
@@ -361,7 +364,7 @@ func parseEvent(e interface{}) { //nolint:maintidx,gocognit,gocyclo
|
||||
mucNickMatch := false
|
||||
|
||||
for _, room := range roomsConnected {
|
||||
mucNick := fmt.Sprintf("%s/%s", room, config.Jabber.Nick)
|
||||
mucNick := fmt.Sprintf("%s/%s", room, getBotNickFromRoomConfig(room))
|
||||
|
||||
if v.From == mucNick {
|
||||
mucNickMatch = true
|
||||
@@ -384,7 +387,7 @@ func parseEvent(e interface{}) { //nolint:maintidx,gocognit,gocyclo
|
||||
mucNickMatch := false
|
||||
|
||||
for _, room := range roomsConnected {
|
||||
mucNick := fmt.Sprintf("%s/%s", room, config.Jabber.Nick)
|
||||
mucNick := fmt.Sprintf("%s/%s", room, getBotNickFromRoomConfig(room))
|
||||
|
||||
if v.From == mucNick {
|
||||
mucNickMatch = true
|
||||
@@ -484,8 +487,11 @@ func parseEvent(e interface{}) { //nolint:maintidx,gocognit,gocyclo
|
||||
if err := xml.Unmarshal(v.Query, &iqErrorCancelNotAcceptable); err == nil {
|
||||
if v.To == talk.JID() {
|
||||
nick := strings.SplitN(v.From, "/", 2)[1]
|
||||
room := strings.SplitN(v.From, "/", 2)[0]
|
||||
|
||||
if slices.Contains(roomsConnected, iqErrorCancelNotAcceptable.By) &&
|
||||
nick == getBotNickFromRoomConfig(room) {
|
||||
|
||||
if slices.Contains(roomsConnected, iqErrorCancelNotAcceptable.By) && nick == config.Jabber.Nick {
|
||||
log.Errorf(
|
||||
"Got Iq error message from: %s to: %s. Looks like i'm not in MUC anymore",
|
||||
v.From, v.To,
|
||||
@@ -577,7 +583,7 @@ func parseEvent(e interface{}) { //nolint:maintidx,gocognit,gocyclo
|
||||
|
||||
// Это наш собственный Presence
|
||||
if v.Show == "" && v.Status == "" {
|
||||
if nick == config.Jabber.Nick {
|
||||
if nick == getBotNickFromRoomConfig(room) {
|
||||
roomsConnected = append(roomsConnected, room)
|
||||
// На всякий случай дедуплицируем список комнат, к которым мы заджойнились.
|
||||
sort.Strings(roomsConnected)
|
||||
|
||||
Reference in New Issue
Block a user