Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ Вопрос По Скрипту

Автор: Ostrog 14.1.2009, 13:39

Хочу поставить птоку 0.4.1.1 а вней возможно поставить скрипт чтобы к примеру пишешь команду !топик <сообщение> и данное сообщение в топик вносится и не зависимо админ писал команду или просто пользователь

Автор: ustas 14.1.2009, 13:42

Цитата(Ostrog @ 14.1.2009, 13:39) *
Хочу поставить птоку 0.4.1.1 а вней возможно поставить скрипт чтобы к примеру пишешь команду !топик <сообщение> и данное сообщение в топик вносится и не зависимо админ писал команду или просто пользователь
в хабе - менеджер профилей - нужным профилям устанавливаешь галочку "топик"

Автор: _LorD_ 14.1.2009, 13:59

Цитата(Ostrog @ 14.1.2009, 13:39) *
Хочу поставить птоку 0.4.1.1 а вней возможно поставить скрипт чтобы к примеру пишешь команду !топик <сообщение> и данное сообщение в топик вносится и не зависимо админ писал команду или просто пользователь

Зачем тебе это??? в топик всяякую чушь писать будут, оскорбления, реклама....

Автор: Ostrog 14.1.2009, 14:57

а если человек не зарегистрирован на хабе...

Цитата(_LorD_ @ 14.1.2009, 13:59) *
Зачем тебе это??? в топик всяякую чушь писать будут, оскорбления, реклама....

просто нужна эта функция

Автор: Setuper 14.1.2009, 15:13

Код
function ChatArrival(tUser,sData)
  local _,_,sCmd,sTopic=sData:find"%b<>%s[+!/](%S+)(.*)|"
  if sCmd and sCmd:lower()=="topic" then
    _,_,sCmd=sTopic:find"%s*(.+)"
    if sCmd then
      SetMan.SetString(10,sCmd:gsub("|",""):sub(1,4096))
    else
      Core.SendToUser(tUser,"*** Не введён сам топик. Используйте команду !topic топик")
    end
    return true
  end
end

Автор: Ostrog 14.1.2009, 15:45

подскажи пожалуйста еще как таймер замутить?ну чтобы топиками не флудили,а стояло ограничение в любое кол-во секунд

Автор: Setuper 14.1.2009, 16:27

Код
local iTimer=60 --минимальный интервал смены топика в секундах

function ChatArrival(tUser,sData)
  local _,_,sCmd,sTopic=sData:find"%b<>%s[+!/](%S+)(.*)|"
  if sCmd and sCmd:lower()=="topic" then
    _,_,sCmd=sTopic:find"%s*(.+)"
    if sCmd then
      if not iTime or iTime<os.time()+iTimer then
        iTime=os.time()
        SetMan.SetString(10,sCmd:gsub("|",""):sub(1,4096))
      else
        Core.SendToUser(tUser,"*** Следующая смена топика возможна через "..(os.time()+iTimer-iTime).." сек.")
      end
    else
      Core.SendToUser(tUser,"*** Не введён сам топик. Используйте команду !topic топик")
    end
    return true
  end
end

Автор: Ostrog 14.1.2009, 16:57

на птоке 0.3.6.0 скрипт я так полагаю не пашет?потому что заходил юзером пишет у вас недостаточно прав для сменты топика

Автор: Setuper 14.1.2009, 17:35

Во-первых, перестань цитировать предыдущий пост. Зачем цитировать когда итак понятно о чём речь.
Во-вторых, данный скрипт написан под API2. Под API1 можешь воспользоваться быстрым переводом.