Live dc++ forum
Форма входа
Логин:
Пароль:
Главная | Клиентские скрипты (greylink) - Страница 14 - Форум | Пятница, 29.03.2024, 13:11
[ Новые сообщения · Участники · Правила форума · Поиск
  • Страница 14 из 14
  • «
  • 1
  • 2
  • 12
  • 13
  • 14
Форум » >> » DC++ » Клиентские скрипты (greylink)
Клиентские скрипты (greylink)
hmuryДата: Воскресенье, 05.10.2008, 10:58 | Сообщение # 1
Генерал-лейтенант
Сообщений: 599
Репутация: 32
Статус: Offline
Сайт посвященный Луа http://www.lua.ru
Форум с готовыми скриптами на http://mydc.ru
Еще один форум на http://adrium.ipbfree.com

мой знакомый, Chaser, написал скрипт "объявление на хабе"

Code
dcpp = {}
spamtable = {}
-- spamtable= { ["dc.ru"] = { 0, 10, "sample" } , ["localhost"] = { 0, 12, "hello there!" } }

function spam(hubname, timeout, text)
           spamtable[hubname] = { 0, timeout, text }
end

function dcpp.OnTimer()
           for hubname, hubentry in pairs(spamtable) do
                   if (hubentry[1] == 0) and (hubentry[3] ~= "") then
                           hubentry[1] = hubentry[2]
                           DC():SendPublicMessage(hubname, hubentry[3])
                   else
                           hubentry[1] = hubentry[1] - 1
                   end
           end
           return nil
end

text =          "Спам-бот. Запуск спама на хабе с периодом 600 секунд:\r\n"
text = text ..  "/lua spam(\"dc.ufanet.ru\", 600, \" ТУТ ВАШЕ СООБЩЕНИЕ \")\r\n"
text = text ..  "\r\n"
text = text ..  "Чтобы отключить спам на хабе, наберите\r\n"
text = text ..  "/lua spam(\"dc.ufanet.ru\", 0, \"\")\r\n"
text = text ..  "\r\n"
text = text ..  "Адрес хаба надо писать в точности, как в столбце 'Сервер'\r\n"
text = text ..  "в списке 'Избранных хабов'\r\n"

DC():MessageBox(text, "spam.lua", "ok", "info")
DC():RunTimer(1)

это надо вставить в блокнот и сохранить в папку Scripts с именем spam.lua, обязательно в кодировке utf-8. запуск командой

Code
/luafile spam.lua


Сообщение отредактировал livedc - Четверг, 19.03.2009, 20:19
 
vitaly3Дата: Понедельник, 04.07.2011, 12:12 | Сообщение # 196
Рядовой
Сообщений: 10
Репутация: 0
Статус: Offline
Помогите, плиз, выполнить команду "/hub 88" при запуске greylink.

В startup.lua написал строчки
--
DC():RunTimer(5)
DC():SendPublicMessage("myhuburl", "/hub 88")
--
- выдается мессага "/hub 88" в чат хаба, а надо чтоб выполнялась команда "/hub 88".
 
SetuperДата: Понедельник, 04.07.2011, 20:38 | Сообщение # 197
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
На сколько мне известно, скриптом нельзя выполнять команды клиента. Команды сразу отсылаются на хаб.
По всей видимости, отчасти это связано с безопасностью: команды может выполнять только непосредственно сам пользователь из строки ввода сообщения.


lua master
 
vitaly3Дата: Вторник, 05.07.2011, 00:21 | Сообщение # 198
Рядовой
Сообщений: 10
Репутация: 0
Статус: Offline
Setuper, спасибо за ответ.
Тогда как по-другому можно решить простую задачу:
надо создать постоянный чатрум на моем IP на 88 порту,
аналогичный выполнению команды "/hub 88" в greylink
(чтобы каждый раз при перезапуске не набирать руками эту команду).
 
SMTДата: Четверг, 07.07.2011, 19:21 | Сообщение # 199
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
вместо чат-комнаты нужно установить полноценную программу-хаб.
и возможностей будет побольше, и работать будет в фоне, не мешая никому
 
sc0rpi0nДата: Среда, 10.08.2011, 05:38 | Сообщение # 200
Рядовой
Сообщений: 1
Репутация: 0
Статус: Offline
Скачал MoonADC 0.8.5.7,пользуюсь GreylinkDCMod.0.48-x64.ExtendedPack.v2.3.0.У меня кроме скрипта connector ни один не работает.

Добавлено (10.08.2011, 05:38)
---------------------------------------------
Подскажите плиз,как добавить сбда чат бот,аналогично как помощник,только чтоб в чате отвечал?

Code
dcpp = {}

--[[  
Скрипт-комбайн, выполняющий одновременно несколько функций:
ФУНКЦИЯ  АВТОР
Анти-флуд  Setuper
Анти-капс  Setuper
Анти-мат  GreyTeam  //Конвертатор корней матных слов
Помошник  GreyTeam  //Приватные команды: качать++;  команды++;  когда++;
                    //Чат команды: у кого есть; дайте скачать; почему не качается; немогу качать; немогу скачать; как качать; как скачать;
Выдача слотов    zangriEAX  //Приватные команда: : slot++

]]
--[[ /////////////////////////////////////////////////////////////// ]]
-- Размер сообщения с которого начинает реагировать скрипт
local iCheckSize = 3

-- Доля капса, при котором сработает скрипт
local iPersents = 0.4

-- Число разрешённых подряд символов
local iSymbRep = 3

os.setlocale"Russian_Russia.1251"
local sBigData = DC():ToUtf8("[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ]")
local sPatternRep = "(.)("..("%1"):rep(iSymbRep)..")"

local function CheckRep(sData)
   if sData:match(sPatternRep) then
     local sSmb, sMsg, iC = '', '', 0
     for i = 1, #sData do
       local s = sData:sub(i, i)
       if sSmb == s then
         iC = iC + 1
         if iC <= iSymbRep then
           sMsg = sMsg..s
         end
       else
         sSmb, iC, sMsg = s, 1, sMsg..s
       end
     end
     return sMsg
   end
   return sData
end

local function CheckCaps(sData)
   local sNoSpaces = sData:gsub("[%s%d%c%p]", '')
   local iNoSpasesLen = sNoSpaces:len()
   if iNoSpasesLen > 0 then
     local iCapsLen = 0
     sNoSpaces:gsub(sBigData, function(c) iCapsLen = iCapsLen + 1 end)
     if (iCapsLen / iNoSpasesLen) >= iPersents then
       sData = sData:lower()
     end
   end
   return sData
end

--[[ Антимат - конвертатор ]]
--[[ /////////////////////////////////////////////////////////////// ]]
function dcpp.PreviewPublicMessage(huburl, message)

         msg, count = string.gsub(message, "(хуй)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ХУЙ)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(хуя)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ХУЯ)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(бля)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(БЛЯ)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(пизд)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ПИЗД)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(пезд)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ПЕЗД)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(еба)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ЕБА)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ебу)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ЕБУ)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(оеб)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(ОЕБ)", "мат")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(почему не качается)", "Привет народ! я новичек, помогите пожалуста мне настроить ДС, а то у меня не получается качать или подскажите где почитать как настраивать ДС++. Зарание спасибо!")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(немогу качать)", "Привет народ! я новичек, помогите пожалуста мне настроить ДС, а то у меня не получается качать или подскажите где почитать как настраивать ДС++. Зарание спасибо!")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(немогу скачать)", "Привет народ! я новичек, помогите пожалуста мне настроить ДС, а то у меня не получается качать или подскажите где почитать как настраивать ДС++. Зарание спасибо!")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(как качать)", "Привет народ! я новичек, помогите пожалуста мне настроить ДС, а то у меня не получается качать или подскажите где почитать как настраивать ДС++. Зарание спасибо!")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

         msg, count = string.gsub(message, "(как скачать)", "Привет народ! я новичек, помогите пожалуста мне настроить ДС, а то у меня не получается качать или подскажите где почитать как настраивать ДС++. Зарание спасибо!")
         if (count > 0) then
                 DC():SendPublicMessage(huburl, msg)
                 return 1
         end

--[[ Антимат - запрет отправки в чат ]]
--[[ /////////////////////////////////////////////////////////////// ]]
         msg, count = string.gsub(message, "(у кого есть)", "запрос")
         if (count > 0) then
   DC():MessageBox(" Воспользуйтесь меню поиска в ДС++ клиенте \r\n Главное меню - вид - Поиск  \r\n Лучше всего искать в час-пик (21 час) по всем хабам сети \r\n простой запрос из одно слова + фильтр", "scripts> startup.lua", "ok", "info")
          return 2
  end

         msg, count2 = string.gsub(message, "(дайте скачать)", "запрос")

         if (count2 > 0) then
   DC():MessageBox(" Воспользуйтесь меню поиска в ДС++ клиенте \r\n Главное меню - вид - Поиск  \r\n Лучше всего искать в час-пик (21 час) по всем хабам сети \r\n простой запрос из одно слова + фильтр", "scripts> startup.lua", "ok", "info")
          return 2
  end

--[[ Антикапс и антифлуд]]
--[[ /////////////////////////////////////////////////////////////// ]]
  message = DC():FromUtf8(message)
    if message:len() >= iCheckSize then
      local sMsg = CheckCaps(CheckRep(message))
      if sMsg ~= message then
        DC():SendPublicMessage(huburl, DC():ToUtf8(sMsg))
        return 1
      end
  end
end

--[[ Помошник ]]
--[[ /////////////////////////////////////////////////////////////// ]]
BotSay = {

     { ["question"] = {"команды++"},
       ["answer"] = {"Остальные команды я допишу попозже в файл: scripts\startup.lua",},
     },

     { ["question"] = {"качать++"},
       ["answer"] = {" Если у тебя не получается с меня скачать, сделай следующую проверку: \r\n 1. Можешь ли ты качать хоть с кого-то, если нет, то у тебя скорее всего ДС++ заблокироавнна Антивирусом/Брандмауэром/Фаирволом; \r\n 2. Проверь режим мой и свой. У одного из нас должен быть активный режим соединения. Файл-Настройки-Настройки соединения; \r\n 3. Проверь работает ли поиск в активном режиме. Если нет, то переведи свой ДС++ в пассивный режим; \r\n 4. Если ничего не помогло, попроси админов хаба разобраться."},
     },

     { ["question"] = {"когда++"},
       ["answer"] = {"Возле компьютера я бываю по будням с 18 до 23 и по выходным с 12 до 23."},
     },

}

--[[ Выдача слотов ]]
--[[ /////////////////////////////////////////////////////////////// Russian_Russia.1251  ToUtf8]]
--[[------------------------------------------------------------------------------------------------------------

  DC():SendPrivateMessage(uid,tostring(msg:match(DC():ToUtf8(v))))  

--]]------------------------------------------------------------------------------------------------------------
local slots = {"slot++"}
local slotSec = 3600 --Время выдачи слота в секундах,если поставить 0 убирается экстра-слот 0о
local slotMsg = "[NI]: тебе выдан экстра-слот на [TI]"
----------------------------------------------------------------
-- Далее ничего не трогаем --
----------------------------------------------------------------
String2Lower = function(s)
   for i = 192, 223 do
     s = s:gsub(_G.string.char(i), _G.string.char(i + 32))
   end
   s = s:gsub(_G.string.char(168), _G.string.char(184))
   return s:lower()
end

function GetNormalTime(s)
     s=tonumber(s) or 0
     local r=""
     if s>=31104000 then r=math.floor(s/31104000).." г. " s=math.fmod(s,31104000) end
     if s>=2592000 then r=r..math.floor(s/2592000).." мес. " s=math.fmod(s,2592000) end
     if s>=86400 then r=r..math.floor(s/86400).." д. " s=math.fmod(s,86400) end
     if s>=3600 then r=r..math.floor(s/3600).." ч. " s=math.fmod(s,3600) end
     if s>=60 then r=r..math.floor(s/60).." мин. " s=math.fmod(s,60) end
     return r..s.." сек."
end
slotMsg = slotMsg:gsub("%[TI%]",GetNormalTime(slotSec))

--[[ Помошник ]]
function dcpp.OnPrivateMessage(cid, data)

  --DC():SendPrivateMessage(cid,String2Lower(data))
  for i,v in pairs(slots) do
   if data:match(DC():ToUtf8(v)) then
    DC():SetExtraSlot(cid,slotSec)
    DC():SendPrivateMessage(cid,(tostring(slotMsg:gsub("%[NI%]",DC():GetUserInfo(cid).NI))))
   break end
end

         local userInfo = DC():GetUserInfo(cid)
         if (userInfo.ME ~= "1") then
                 for _, mini_table in pairs(BotSay) do
                         for _, trigger in pairs(mini_table["question"]) do
                    if string.find(data, trigger) then
                    DC():SendPrivateMessage(cid, mini_table["answer"][math.random(1,table.getn(mini_table["answer"]))])
                    return nil
                    end
                         end
                 end
         end

         return nil
end

 
TagirДата: Понедельник, 17.10.2011, 22:51 | Сообщение # 201
Рядовой
Сообщений: 5
Репутация: 0
Статус: Offline
Есть такой вопрос . Почему когда кидаю текст с магнет ссылкой , смалики не отображаются а просто :солнце: и всё . Как заметил когда кидаю без магнет ссылки то всё норм . Как то можно это исправить и что нужно сделать . Если не трудно подскажите .

Добавлено (17.10.2011, 22:51)
---------------------------------------------
Спасибо за этого Чат бота огромное . Очень помог и помогает мне . Создателю могу бумагу на счёт кинуть . Только в личку номер

 
hmuryДата: Понедельник, 17.10.2011, 23:46 | Сообщение # 202
Генерал-лейтенант
Сообщений: 599
Репутация: 32
Статус: Offline
Quote (Tagir)
Есть такой вопрос . Почему когда кидаю текст с магнет ссылкой , смалики не отображаются а просто :солнце: и всё . Как заметил когда кидаю без магнет ссылки то всё норм . Как то можно это исправить и что нужно сделать . Если не трудно подскажите .

у тебя не грейлинк? в других dc смайлы и магнеты не перемешиваются. в greylink всё как и должно быть
 
TagirДата: Среда, 26.10.2011, 23:11 | Сообщение # 203
Рядовой
Сообщений: 5
Репутация: 0
Статус: Offline
в грей линке всё норм , а с флайлинка нет. В общем решить эту проблемку получится отправив два сообщения? или можно как то ещё ?

Добавлено (26.10.2011, 23:11)
---------------------------------------------
У меня ещё одна проблемка с хабом . после того как отправляешь в чат одно сообщение то второй раз точно такое же нельзя отправить , нужен пробел или ещё какой нибудь символ . Так как сделать чтоб Я мог и туда кидать сообщения ?

Сообщение отредактировал Tagir - Вторник, 18.10.2011, 19:15
 
SMTДата: Четверг, 27.10.2011, 12:27 | Сообщение # 204
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (Tagir)
У меня ещё одна проблемка с хабом . после того как отправляешь в чат одно сообщение то второй раз точно такое же нельзя отправить , нужен пробел или ещё какой нибудь символ . Так как сделать чтоб Я мог и туда кидать сообщения ?

найти админа хаба и надавать ему по башке за такие настройки анти-флуда.
клиент тут не причём, это обычная настройка хаба - сколько раз разрешено повторять одинаковое сообщение
 
TagirДата: Пятница, 18.11.2011, 15:10 | Сообщение # 205
Рядовой
Сообщений: 5
Репутация: 0
Статус: Offline
Этих прыщей труднее найти чем самых умных шпионов
 
Otshelnik-FmДата: Среда, 06.06.2012, 18:56 | Сообщение # 206
Рядовой
Сообщений: 16
Репутация: 0
Статус: Offline
Не подскажите скрипт кидающий в открытые хабы по таймеру (каждые 4 часа) сообщение о погоде? Город задавался чтоб в настройках?

http://beoff.ru - магнет ссылки для поклонников ужасов, триллеров, фантастики
 
SwiДата: Суббота, 30.05.2020, 18:49 | Сообщение # 207
Рядовой
Сообщений: 1
Репутация: 0
Статус: Offline
Здравствуйте! Напишите, пожалуйста, скрипт spam.func, чтобы он посылал сообщение в определенные времена (часы:минуты), чтобы не считал секунды для отправки. Ещё нужно настроить отключалку: /lua nospam() в скрипте, который ниже (после /lua DC():RunTimer(0) скрипт приходится уже /lua DC():RunTimer(1) включать - неудобно):

Код
spamtable = {}
-- spamtable= { ["dc.ru"] = { 0, 10, "sample" } , ["localhost"] = { 0, 12, "hello there!" } }

file = io.open(DC():GetAppPath() .. "Scripts/reklama.txt", "r")  
messages = { }  
i = 1  

function spam(timeout)
        spamtable[dc_huburl] = { 0, timeout }
end

function nospam()
        spamtable[dc_huburl] = { 0, 0 }
end

for line in file:lines() do  
    messages [i]= line  
    i=i+1  
end  

tMainFunc["spam"].OnTimer=function()
          for hubname, hubentry in pairs(spamtable) do  
                  if (hubentry[1] == 0)  then  
                          hubentry[1] = hubentry[2]  
                          DC():SendPublicMessage(hubname,  messages[math.random(i-1)])  
                  else  
                          hubentry[1] = hubentry[1] - 1  
                  end  
          end  
        return nil
end

DC():MessageBox(text, "spam.lua", "ok", "info")[/i]


Сообщение отредактировал Swi - Пятница, 12.06.2020, 10:14
 
Форум » >> » DC++ » Клиентские скрипты (greylink)
  • Страница 14 из 14
  • «
  • 1
  • 2
  • 12
  • 13
  • 14
Поиск:


В движке поковырялся LiveDC :p © 2024
Сделать бесплатный сайт с uCoz