Счетчик для действий в цикле[решено]



  • Здравствуйте!
    Дано: бот на сайте который отвечает при появлении новых("*") сообщений юзеров(юзеры могут появлятся при новом цикле, т.е. они не постоянные)

    While:
       Foreach для"*":
           Мокрощелка34*
           Алина Селезнева
           Куртка Бейн *
           Лев Лещенко *
    
    

    Как реализовать каждый раз новые ответы для повторно пишущего юзера? Например: если все написали по одному разу то им отправить в ответ первую строку из списка, если кто то написал второй раз, то им вторую строку из списка ... и так до 20 ответов повторно пишущему юзеру.



  • @Rusbear
    создавать объект user и хранить сосотяния юзеров в этом обекте, пришел ушел написал



  • @ruzne Можно подробнее ?



  • @Rusbear
    можно, при появлении юзера создать для него объект, в свойствах этого объекта сохранять информацию о действиях юзера, когда пользователь пишет сообщение увеличивать счетчик сообщений в объекте, если пользователь уходит, удалять объект или устанавливать свойство эксит в тру или онлайн в фалш например



  • @ruzne это я понимаю, я не понимаю как это сказать на языке BAS



  • @Rusbear
    выполнить код



  • @ruzne точнее я не знаю как это сделать программно



  • @Rusbear
    тогда мануально



  • @Rusbear https://learn.javascript.ru/ вам в помощь.



  • @ruzne Спасибо доктор. С объектами разобрался. Как передать значение переменой в свойство объекта и как создать объект с именем из значения переменной? Почему-то передается имя а не значение



  • @Rusbear
    доступ к публичному свойству объекта через точку
    с именем из значения переменной через eval(), а зачем, содай массив обектов или используй хеш в котором ключ - значение переменной, значение - обект



  • @ruzne Если будет время скинь скрипт с примером



  • @Rusbear
    чего именно, чека новых сообщений, чека логина пользователя и его дислогина, отправки сообщения или структуру данных для хранения состояния и действий пользователя?



  • @Rusbear Если способ @ruzne для вас сложный, можно по другому. Создайте список, кладите в него имена юзеров, которым вы уже написали. И сделайте проверку по нику, есть ли он в списке.



  • @Fox
    там структура сложнее, нужен детект 1,2,3..20 сообщений написал ползователей, без ассоцаироаннотивного массива ни как, точнее как еще более увлекательно... еще нужно же помнить кому сколько и какие сообщения отправлены



  • @ruzne пример создания свойства объекта с именем из значения переменой, и получение свойства объекта по имени из значения переменной



  • @Rusbear

    [[I]] = 1;
    [[OBJ]].count = [[I]];
    
    [[X]] = [[OBJ]].count;
    


  • @ruzne Ваше действие присваивает значение значение "i" свойству "count" объекта "OBJ" , а мне нужно создать свойство с именем из переменной ,т.е. чтобы вместо "count" было "dima" например, чтобы не создавать множество объектов а хранить информацию в свойствах одного объекта

    OBJ: {
        Dima: 1,
        Vova: 12,
        Olya: 4
      },
    


  • @Rusbear
    VAR_TEST = "Dima"
    VAR_OBJ[VAR_TEST] = "test"



  • @DrPrime Спасибо, а как получить значение свойства имя которого в переменной ? VAR_REZULTAT = VAR_OBJ.VAR_TEST; не работает