Live dc++ forum
Форма входа
Главная | Клиентские скрипты (greylink) - Страница 3 - Форум | Воскресенье, 24.11.2024, 11:15
[ Новые сообщения · Участники · Правила форума · Поиск
Клиентские скрипты (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
 
SetuperДата: Понедельник, 29.12.2008, 00:09 | Сообщение # 31
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
По поводу первой проблемы ничего не понял))) Ты русский или нет? Что именно не работает, ничего не понял из твоих слов.

По поводу совместного запуска 2 скриптов - ответ невозможно! Одновременно может работать только 1 скрипт. Поэтому либо то, либо другое.

Однако, проблему запуска нескольких скриптов можно обойти. Поэтому я и написал универсальный бот, в который можно добавлять какие-то сторонние скрипты и они все будут работать вместе. Для того, чтобы добавить скрипт "spam" нужно сделать следующее:

1) Создать в папке func скрипта MoonADC файл с названием модуля бота и расширением func: например так "spam.func"
2) В файле "startup.lua" скрипта MoonADC в таблицу "tMain" дописываем название нового модуля: ["spam"]=1, где 1-модуль включен, 0-откл.
3) В файл "spam.func" скопировать код скрипта spam убрав из кода строки: "dcpp = {}" и "DC():RunTimer(1)" и заменить строку "function dcpp.OnTimer()" на строку "tMainFunc["spam"].OnTimer=function()"


lua master

Сообщение отредактировал Setuper - Понедельник, 29.12.2008, 00:13
 
deityДата: Понедельник, 29.12.2008, 00:52 | Сообщение # 32
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
Quote (Setuper)
По поводу первой проблемы ничего не понял))) Ты русский или нет? Что именно не работает, ничего не понял из твоих слов.

проблема была в том, что при запуске (клиента+чатбота) выводилось сообщение в чат, как приветствие,при отсутствии триггерных слов, ее удалось решить.Но дальнейшее использование бота показало, что если не выходя из грея с запущенным ботом отправить компьютер в сон и потом разбудит, то сообщение сразу попадает в чат,без тригерных слов.Т.е. багу удалось разрешить частично...
насчет 2 скриптов понял..спасибо
поробую сделать три пункта

Добавлено (29.12.2008, 00:52)
---------------------------------------------

Quote (Setuper)
Однако, проблему запуска нескольких скриптов можно обойти. Поэтому я и написал универсальный бот, в который можно добавлять какие-то сторонние скрипты и они все будут работать вместе. Для того, чтобы добавить скрипт "spam" нужно сделать следующее:

1) Создать в папке func скрипта MoonADC файл с названием модуля бота и расширением func: например так "spam.func"
2) В файле "startup.lua" скрипта MoonADC в таблицу "tMain" дописываем название нового модуля: ["spam"]=1, где 1-модуль включен, 0-откл.
3) В файл "spam.func" скопировать код скрипта spam убрав из кода строки: "dcpp = {}" и "DC():RunTimer(1)" и заменить строку "function dcpp.OnTimer()" на строку "tMainFunc["spam"].OnTimer=function()"


попробовал
запускается грей, потом окно спамавского скрипта и грей зависает , не развернуть из трея
 
SetuperДата: Понедельник, 29.12.2008, 10:25 | Сообщение # 33
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
v 0.8.5.7

Added: Из-за невозможности запуска более 1 скрипта, по просьбам желающих добавил модуль спам бота, написанного Chaser-ом.

Fixed: Исправлена задержка чат-бота и пм-бота. Задержки нет при ручном запуске скрипта (то есть реакция на фразы
будет мгновенной), задержка вознакает при заходе на хаб (или при перезаходе). Задержка контролируется параметром iDelayStart.

Fixed: Убрал файл startup.func, включив его содержимое в файл startup.lua.

Файл новой версии бота во втором топике в начале темы.


lua master

Сообщение отредактировал Setuper - Понедельник, 29.12.2008, 10:31
 
deityДата: Понедельник, 29.12.2008, 15:39 | Сообщение # 34
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
Quote (Setuper)
v 0.8.5.7
Added: Из-за невозможности запуска более 1 скрипта, по просьбам желающих добавил модуль спам бота, написанного Chaser-ом.

то же самое
запускается грей, потом окно спамавского скрипта и грей зависает , не развернуть из трея, приходится убивать из диспетчера задач грея...
ну ладно..отключил spam.func
пользуюсь chatbot.func и connector.func - другие не тестировал за ненадобностью... они работают
спасибо за бота


Сообщение отредактировал deity - Понедельник, 29.12.2008, 15:39
 
SetuperДата: Понедельник, 29.12.2008, 15:50 | Сообщение # 35
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
Не знаю что у тебя там зависает. У меня на 5.48 всё замечательно работает. А продвинутым спам ботом является бот ranker

lua master
 
deityДата: Понедельник, 29.12.2008, 15:59 | Сообщение # 36
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
Quote (Setuper)
Не знаю что у тебя там зависает. У меня на 5.48 всё замечательно работает. А продвинутым спам ботом является бот ranker

может потому что виста 64...грей 5,49
ну фиг с ним, часть работает и ладно
Бот ranker - бот для скрытого набивания чат рагнов на хабе под управлением PtokaX
ну дык я его даже не запускал, т.к. верлихаб...


Сообщение отредактировал deity - Понедельник, 29.12.2008, 16:00
 
SetuperДата: Понедельник, 29.12.2008, 16:10 | Сообщение # 37
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
Ну принцип бота состоит в том, что на хабе PtokaX, существуют команды, которые доступны только операторам, и если простой пользователь их использует, то команда не отправляется в чат а пользователю приходит сообщение о недоступности команды. Скрипты рангов не предусматривают эти команды, поэтому отправка этих команд набивает чат-ранг.

Эти команды отправляются как сообщения в чат через установленный интервал, что по своей сути является как раз таки спам-ботом. Единственное, что если в настройках несколько сообщений, то они отсылаются случайным образом - это сделано чтобы обходить антифлуд.


lua master
 
Про[R]абДата: Четверг, 08.01.2009, 01:15 | Сообщение # 38
Лейтенант
Сообщений: 73
Репутация: 3
Статус: Offline
Вообщето грей не зависает а не открывается из за окна сообщения. Главное и окна этого тоже не видно.
Пришлось убить последние строки в startup.lua
DC():MessageBox(DC():ToUtf8("Программа: greylinkDC++ "..sVersion.."\r\nДиректория программы: "..DC():ToUtf8(DC():GetAppPath()).."\r\nЗапущены следующие боты:\r\n"..sBM), DC():ToUtf8("MoonADC++ Bot (Lua 5.1.3) by Setuper"), "ok", "warning")
После все стало запускаться. Винда у меня 64бит. Может из за этого.

И еще один вопросик! Как отучить бот приветствовать сообщения от хаба и ботов? А то на каждое сообщение он Здрасте и Приветствую.


Config comp: CPU-i7-2600K/RAM-32Gb/Video-GF580GTX-1200Mb/HDD-RAID0=2x240GB+RAID5=8x3Tb/Win7 64bit.
 
SetuperДата: Четверг, 08.01.2009, 01:35 | Сообщение # 39
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
Возможно и из-за разрядности не пашет, у меня всё нормально на win32.

В основном файле startup.lua есть таблица tMain, в которой перечислены подключаемые модули. Если ставишь 1 - модуль включен, ставишь 0 - отключен. Для отключения приветствий нужно поставить: ["connector"]=0,


lua master

Сообщение отредактировал Setuper - Четверг, 08.01.2009, 01:38
 
Про[R]абДата: Четверг, 08.01.2009, 02:09 | Сообщение # 40
Лейтенант
Сообщений: 73
Репутация: 3
Статус: Offline
Quote (Setuper)
В основном файле startup.lua есть таблица tMain, в которой перечислены подключаемые модули. Если ставишь 1 - модуль включен, ставишь 0 - отключен. Для отключения приветствий нужно поставить: ["connector"]=0,

Стоит 0
В том и дело что приветствия идут от chatbot. Он почемуто реагирует на все сообщения хаба и ботов.
например когото кикнули выходт вот такое сообщение:
<[Ghost_of_HUB]> *** GetNickList флудер Anchil с IP 172.21.14.167 был отключён.
А бот на это сообщение отвечает Привет! или Здрасте. И вроде слов похожих нет на что бот реагирует? wacko


Config comp: CPU-i7-2600K/RAM-32Gb/Video-GF580GTX-1200Mb/HDD-RAID0=2x240GB+RAID5=8x3Tb/Win7 64bit.
 
SetuperДата: Четверг, 08.01.2009, 02:20 | Сообщение # 41
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
открой файл chatbot.func и посмотри на что он реагирует)))
В данной фразе он среагировал на буквы hi:
<[Ghost_of_HUB]> *** GetNickList флудер Anchil с IP 172.21.14.167 был отключён.

Переделай фразы под себя.


lua master

Сообщение отредактировал Setuper - Четверг, 08.01.2009, 02:20
 
Про[R]абДата: Четверг, 08.01.2009, 03:06 | Сообщение # 42
Лейтенант
Сообщений: 73
Репутация: 3
Статус: Offline
Setuper, Спасибо, Я чет както сразу и не увидел. Придется все пересмотреть.

Config comp: CPU-i7-2600K/RAM-32Gb/Video-GF580GTX-1200Mb/HDD-RAID0=2x240GB+RAID5=8x3Tb/Win7 64bit.
 
SetuperДата: Четверг, 08.01.2009, 11:50 | Сообщение # 43
Майор
Сообщений: 98
Репутация: 6
Статус: Offline
иногда полезно посмотреть что же все таки творит тот или иной скрипт)))

lua master
 
deityДата: Понедельник, 26.01.2009, 12:43 | Сообщение # 44
Полковник
Сообщений: 238
Репутация: 4
Статус: Offline
подскажите, а есть какой-нибудь скрипт, чтобы создать hublist.xml.bz2 из списка своих хабов, чтоб удобно было поделиться им с другими пользователями
 
SMTДата: Понедельник, 26.01.2009, 19:05 | Сообщение # 45
Генерал-лейтенант
Сообщений: 514
Репутация: 28
Статус: Offline
Quote (deity)
подскажите, а есть какой-нибудь скрипт, чтобы создать hublist.xml.bz2 из списка своих хабов, чтоб удобно было поделиться им с другими пользователями

легко написать. понадобится 2 файла. xslt-трансформер и java-скрипт, который его запустит

файл fav2hublist.xsl

Code
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="utf-8"/>

       <xsl:template match="/Favorites">

<Hublist Address="http://dchublist.ru/hublist.xml.bz2" Name="dchublist.ru xml hublist">
        <Hubs>
        <Columns>
            <Column Name="Address" Type="string"/>
            <Column Name="Name" Type="string"/>
            <Column Name="Description" Type="string"/>
            <Column Name="Country" Type="string"/>
        </Columns>
        <xsl:for-each select="Hubs/Hub">
            <xsl:element name="Hub">
                <xsl:attribute name="Address"> <xsl:value-of select="@Server"/> </xsl:attribute>
                <xsl:attribute name="Name"> <xsl:value-of select="@Name"/> </xsl:attribute>
                <xsl:attribute name="Description"> <xsl:value-of select="@Description"/> </xsl:attribute>
                <xsl:attribute name="Country">Russian Federation</xsl:attribute>
            </xsl:element>
        </xsl:for-each>
        </Hubs>
</Hublist>

       </xsl:template>

</xsl:stylesheet>

файл run.js

Code
var xsl = new ActiveXObject("MSXML2.DOMDOCUMENT.4.0");
var xml = new ActiveXObject("MSXML2.DOMDocument.4.0");
xml.validateOnParse = false;
xml.async = false;
xml.load("Favorites.xml");

if (xml.parseError.errorCode != 0)
       WScript.Echo ("XML Parse Error : " + xml.parseError.reason);

xsl.async = false;
xsl.load("fav2hublist.xsl");

if (xsl.parseError.errorCode != 0)
       WScript.Echo ("XSL Parse Error : " + xsl.parseError.reason);

try
{
       var dst = xml.transformNode(xsl.documentElement);
       var doc = new ActiveXObject("MSXML2.DOMDOCUMENT.4.0");
       doc.loadXML(dst)
       doc.save("hublist.xml");
}
catch(err)
{
       WScript.Echo ("Transformation Error : " + err.number + "*" + err.description);
}

подкладываешь свой Favorites.xml, запускаешь run.js и у тебя выходит hublist.xml. дальше его можно заархивировать программой bzip2, но клиенты воспринимают и неархивированный

Сообщение отредактировал SMT - Понедельник, 26.01.2009, 19:12
 
Поиск:


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