как объединить каналы с переменным именем пользователя (mirc)

#code-snippets #irc #mirc

#фрагменты кода #irc #mirc

Вопрос:

простой вопрос, я думаю, но я довольно новичок в этом, так что, возможно, вы сможете мне помочь. Я создал бота для чата, которым хочу поделиться с людьми. Итак, моей первой мыслью было: я добавлю команду (!join), которая затем позволит боту присоединиться к определенному каналу. По какой-то причине (я думаю, это связано с операторами) мое объединение не будет работать.

Вот фрагмент:

 on *:TEXT:!join:#: {
  var %name = $nick
  ;/msg $chan joining channel %name 
  /join #%nick
}
  

Но он просто не будет подключаться. Есть идеи?

Если я просто использую / kick $ nick (или%name), это работает, так что, я думаю, этот # все портит.

Заранее спасибо

Комментарии:

1. вам не нужно использовать команды события / on, поскольку все будет интерпретироваться как команда внутри событий, кстати, поскольку %name = $nick вы можете использовать $ ($chr(35),$nick)

Ответ №1:

Попробуйте следующее:

 /join $chr(35) $  %nick
  

Объяснение: Имя переменной должно быть отдельным словом в вашей строке кода, чтобы оно было распознано как имя переменной. Следовательно, #%nick будет интерпретироваться как строка #%nick , тогда как %nick будет интерпретироваться как имя пользователя, выдающего команду.

Чтобы добавить значение переменной или идентификатора, вы можете использовать идентификатор $ , который объединяет строки вместе. Например, a $ b вернет ab .

Другая проблема возникает при использовании # $ %nick , потому что # это псевдоним для идентификатора $chan . Это означает, что если бы я набрал!подключитесь #test , он попытается присоединиться #testPatrickdev . Вместо использования # я использую $chr(35) (который, в свою очередь, вернет символ # ). Это добавляется к значению переменной %nick .

Комментарии:

1. Раньше mIRC был забавным! 😀

Ответ №2:

Используйте $eval функцию mIRC, например: $($ (#, %nick))

Комментарии:

1. нет необходимости использовать $eval, и # будет распознан как канал, в котором произошло событие, в котором было запущено