Live dc++ forum
Форма входа
Логин:
Пароль:
Главная | Клиентские скрипты (greylink) - Страница 13 - Форум | Суббота, 27.04.2024, 01:00
[ Новые сообщения · Участники · Правила форума · Поиск
Форум » >> » 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
 
KURAGEДата: Четверг, 15.07.2010, 17:42 | Сообщение # 181
Генерал-майор
Сообщений: 412
Репутация: 9
Статус: Offline
Quote (SMT)
так сообщение отправляется не при запуске скрипта, а при получении сообщения в чат.
или ты хочешь, чтобы скрипт некоторое время после запуска пропускал сообщения в общем чате?

Да, и чтоб можно было настроить интервал между сообщениями к примеру 5 сек тоесть кто то пишет сообщение и через 5 сек срабатывает бот


Сообщение отредактировал KURAGE - Четверг, 15.07.2010, 17:43
 
SMTДата: Четверг, 15.07.2010, 18:01 | Сообщение # 182
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (KURAGE)
Да, и чтоб можно было настроить интервал между сообщениями к примеру 5 сек тоесть кто то пишет сообщение и через 5 сек срабатывает бот

нужно сделать очередь ответов. каждый ответ снабдить временем генерации и текстом ответа.
вместо немедленной отсылки класть в очередь

а в отдельной функции, OnTimer, доставать ответ из очереди и, если он создан раньше чем 5 секунд назад, отправлять на хаб и удалять из очереди

звучит страшненько, но кода немного

 
KURAGEДата: Четверг, 15.07.2010, 18:23 | Сообщение # 183
Генерал-майор
Сообщений: 412
Репутация: 9
Статус: Offline
Quote (SMT)
нужно сделать очередь ответов. каждый ответ снабдить временем генерации и текстом ответа.
вместо немедленной отсылки класть в очередь

а в отдельной функции, OnTimer, доставать ответ из очереди и, если он создан раньше чем 5 секунд назад, отправлять на хаб и удалять из очереди

звучит страшненько, но кода немного


эээ для меня это сложно мне еще учится и учится...
 
EnvoyДата: Пятница, 16.07.2010, 03:08 | Сообщение # 184
Рядовой
Сообщений: 1
Репутация: 0
Статус: Offline
Quote (deity)
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

Действительно хороший скрипт. Но возникла другая проблема: однотипные объявления на хабе не проходят, необходимо чередовать два сообщения (т.е. к первому сообщению при написании следующего добавить пробел или любой другой символ). Покажите плз вид данного скрипта при условии, что нужно чередовать 2 или больше сообщений? Заранее большое спасибо!

 
SMTДата: Пятница, 16.07.2010, 08:18 | Сообщение # 185
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Envoy: на 9-й странице smollvrn приводил скрипт, который выводит случайно выбранную строку из текстового файла с объявлениями
 
mrshexДата: Воскресенье, 21.11.2010, 12:22 | Сообщение # 186
Рядовой
Сообщений: 9
Репутация: 0
Статус: Offline
Можно ли из скрипта влиять на настройки клиента ? Нашёл только GetSettings, может я что-то упустил ?

скачал сам - поделись с другом
 
SMTДата: Воскресенье, 21.11.2010, 16:06 | Сообщение # 187
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (mrshex)
Можно ли из скрипта влиять на настройки клиента ? Нашёл только GetSettings, может я что-то упустил ?

только в версии 0.37 и выше:
SetSetting, SetHubSetting
 
zangriEAXДата: Вторник, 23.11.2010, 16:37 | Сообщение # 188
Лейтенант
Сообщений: 41
Репутация: 1
Статус: Offline
Вот ботик мой, ОН ЖЕ ПРОВАКАТОР-ТРОЛЛЬ happy , с большим словарным запасом. И с функциями о которых вы выше рассуждали. (А ведь я дано выладывал их здесь... но видимо их не поняли...)
Давно у меня валялся, решил выложить...
Не смог файл прекрепить... ошибка какае-то...

http://fayloobmennik.net/213095

P.S. Если чего доработаете, то ДАЙТЕ мне ЗНАТЬ! cool

Сообщение отредактировал zangriEAX - Вторник, 23.11.2010, 16:45
 
GexOgenДата: Вторник, 23.11.2010, 19:12 | Сообщение # 189
Полковник
Сообщений: 155
Репутация: 2
Статус: Offline
Я так понимаю скрипт обращается еще к какому то файлу и без него не работает...
PS^ у меня скрипт не заработал
Quote
local Fopen=[[C:\scripts\Lua\lua\1\2\99.txt]]


У меня нет времени заниматься вашим делом, я занят тем что стараюсь быть аппетитным... (с) судья Кекс

Сообщение отредактировал GexOgen - Вторник, 23.11.2010, 19:13
 
zangriEAXДата: Среда, 24.11.2010, 00:18 | Сообщение # 190
Лейтенант
Сообщений: 41
Репутация: 1
Статус: Offline
GexOgen, это не нужный файл, создай его, либо отруби строку.
 
AniNerbeДата: Четверг, 25.11.2010, 18:36 | Сообщение # 191
Генерал-майор
Сообщений: 434
Репутация: 28
Статус: Offline
zangriEAX, грей 0.39
и без строчки и со строчкой с созданным файлом у меня скрипт не работает
 
GexOgenДата: Четверг, 25.11.2010, 19:19 | Сообщение # 192
Полковник
Сообщений: 155
Репутация: 2
Статус: Offline
Там надо некоторые строчки расположения скрипта и хабов переписать, он работает

У меня нет времени заниматься вашим делом, я занят тем что стараюсь быть аппетитным... (с) судья Кекс
 
TagirДата: Вторник, 29.03.2011, 00:48 | Сообщение # 193
Рядовой
Сообщений: 5
Репутация: 0
Статус: Offline
Можно ли сделать так чтоб этот скрипт работал сразу при запуске грея? и если да то как будет выглядеть скрипт сразу с допустим 6-ю разными адресами хабов?
Quote (hmury)
скрипт "объявление на хабе"

Если можно пример happy
 
SMTДата: Среда, 30.03.2011, 11:43 | Сообщение # 194
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (Tagir)
Можно ли сделать так чтоб этот скрипт работал сразу при запуске грея? и если да то как будет выглядеть скрипт сразу с допустим 6-ю разными адресами хабов?

1. переименовываем скрипт в startup.lua, чтобы запускался автоматом
2. убираем из скрипта строку, содержащую MessageBox, чтобы при старте не появлялось сообщение
3. убираем два минуса из строки

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

чтобы она активировалась (два минуса - это признак комментария). вместо хабов "dc.ru" и "localhost" ставим свои хабы. вместо 10 и 12 секунд ставим другие значения. добавляем хабы и сообщения по аналогии

 
TagirДата: Пятница, 01.04.2011, 16:40 | Сообщение # 195
Рядовой
Сообщений: 5
Репутация: 0
Статус: Offline
Саул отдуши happy

Сообщение отредактировал Tagir - Пятница, 01.04.2011, 18:52
 
Форум » >> » DC++ » Клиентские скрипты (greylink)
Поиск:


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