myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Цитатник Рунета, API1, API2 | Показывает цитаты с bash.org.ru

Теги
Нет тегов для показа
FromeN
сообщение 7.8.2008, 13:09
Сообщение #101


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 24.6.2008
Пользователь №: 78
Спасибо сказали: 9 раз




Название скрипта: Bash.Org.Ru_Script
Версия скрипта: ?
Версия API: API1 & API2
Автор: Nickolya
Описание скрипта: Скрипт показывает цитаты с bash.org.ru. Скрипт под API 2 содержит модернизацию в виде возможности выбора по таймеру посылать цитаты, по команде или одновременно двумя способами из меню и если из меню то куда посылать в приват или мейн!

Дополнительно:

- Для API 1 качать это и размещать в папке хаба (где PtokaX.exe).Прикрепленный файл  pxwsa_l51.rar ( 6.75 килобайт ) Кол-во скачиваний: 266
Если не будет работать, тогда еще вот это: Прикрепленный файл  cc3270.rar ( 220.58 килобайт ) Кол-во скачиваний: 249

- Для API 2библиотеку PXLuaSocket качаем вот отсюда http://mydc.ru/topic43.html
Прикрепленные файлы
Прикрепленный файл  Bash.Org.Ru_Script_API_1.rar ( 73.39 килобайт ) Кол-во скачиваний: 292
Прикрепленный файл  Bash.Org.Ru_Script_API_2.rar ( 21.58 килобайт ) Кол-во скачиваний: 851
 
Go to the top of the page
+Quote Post
8 страниц V  « < 4 5 6 7 8 >  
Начать новую тему
Ответов
Accelerator
сообщение 22.3.2009, 16:11
Сообщение #102


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




82 строка:
Код
    DoNeedFormat(tAllData[tNumbers[iNumber]]["sData"]).."\r\n"..

пример цитаты из таблицы:
Код
tAllData = {
    [402841] = {
    },
    [402873] = {
    },
}
Go to the top of the page
+Quote Post
Wariner
сообщение 22.3.2009, 16:16
Сообщение #103


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




к этому серваку доступ из инета есть?
Go to the top of the page
+Quote Post
Accelerator
сообщение 22.3.2009, 16:18
Сообщение #104


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Нет, только локальные сети...
Go to the top of the page
+Quote Post
Wariner
сообщение 22.3.2009, 16:25
Сообщение #105


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Код
function ParseData(sIncomingBuffer)
    local iAdded = 0
    local tNeedToGsub = {
        ["\t"] = "",
        ["\r"] = "",
        ["\n"] = "",
        ["&lt;"] = "<",
        ["&gt;"] = ">",
        ["&quot;"] = "\"",
        ["&amp;"] = "&",
        ["&minus;"] = "-",
    }
    for sWhatNeedToGsub, sToWhat in pairs(tNeedToGsub) do
        sIncomingBuffer = sIncomingBuffer:g(sWhatNeedToGsub, sToWhat)
    end
    local sIncomingBuffer = sIncomingBuffer:g("<br>", "\r\n")
    local sNeedInfo = ""
    for sNeedInfo in sIncomingBuffer:gmatch("(<div class=\"q\">.-</body>)") do
        local _,_, sTitle = sNeedInfo:find("<a href=\"http://bash.org.ru/quote/%d+\">(.*)</a>")
        local _,_, iNumber = sTitle:find("(%d+)")
        local iNumber = tonumber(iNumber)
        if not tAllData[iNumber] then
            --local _,_, sDescription = sNeedInfo:find("<div>(.*)</div>")
            --local _,_, sData = sDescription:find("<div>(.*)</div>")
            local _,_, sData = sNeedInfo:find("<div>(.*)</div>")
            tAllData[iNumber] = {}
            tAllData[iNumber]["sData"] = sData
            iAdded = iAdded + 1
            table.insert(tNewNumbers, iNumber)
        end
    end
    Core.SendToOps("<"..sBot.."> *** Обновление базы закончено! Добавлено "..iAdded.." цитат. Щас сохраним все данные...")
    if iAdded ~= 0 then
        iTimeToSend = iSecondsToSendNew
        SaveToFile(sMainDataTbl, tAllData, "tAllData")
        MakeTblForRandomChoose()
    end
end
Go to the top of the page
+Quote Post
Accelerator
сообщение 22.3.2009, 16:32
Сообщение #106


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Ситуация немного меняется)))
Ошибка:
Код
scripts/BashOrgRuPath/Core.lua:73: attempt to index field '?' (a nil value)

73 строка:
Код
    " [ Цитата #"..tNumbers[iNumber]..", Добавлено "..tAllData[tNumbers[iNumber]]["sPubDate"].." ]"..sNew.."\r\n"..


Пример из таблицы:
Код
tAllData = {
    [402898] = {
        ["sData"] = "Морские новости: \"В Ильичевском порту тепловоз раздавил автомобиль ГАИ, приехавший красть солярку\"\r\
Вот оно как бывает - тепловоз подкрался незаметно.</div></div><div class=\"q\"><div class=\"vote\"><a href=\"http://bash.org.ru/quote/402897\">Цитата #402897</a> , Sat, 21 Mar 2009 10:46:01 +0400</div><div>ххх: Получил служебку. Внизу написано: И.о начальника УСОП. И подпись чья-то.. Думаю может поздно уже отвечать?!</div></div>    },
}

Все цитаты написаны сплошным текстом в sData ...
Go to the top of the page
+Quote Post
Azuma
сообщение 22.3.2009, 16:42
Сообщение #107


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 21.3.2009
Пользователь №: 2 689
Спасибо сказали: 0 раз




Цитата(Wariner @ 22.3.2009, 13:45) *
не понятен смысл этого. ты хочешь чтоб при имеющихся 100 цитатах место резервировалось на 1000?

Чтобы в базу закачивалось не 100 цитат при старте скрипта а не менее 1000, а то он их по кругу эту сотню начинает гонять.
Такого не было бы если на баше в сутки не менее 50 или 100 цитат выкладывали но увы.
Go to the top of the page
+Quote Post
Wariner
сообщение 22.3.2009, 16:45
Сообщение #108


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Код
for sNeedInfo in sIncomingBuffer:gmatch("(<div class=\"q\">.-</div></div>)") do
Go to the top of the page
+Quote Post
Accelerator
сообщение 22.3.2009, 16:57
Сообщение #109


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Теперь таблица вроде правильная:
CODE
tAllData = {
[402841] = {
["sData"] = "Ходила в ЗАГС по делам. Там рядышком 2 двери. Одна в зал регистрации брака, другая к секретарю. Сижу на стуле в этом холле, рядом девушка в красивом вечернем белом платье, с цветами, смирно сидит и ждет кого-то, звонит телефон. Она медленно достает мобилу из сумочки и я слышу следующий разговор:\r\
-Привет, дорогой.\r\
-Да, я в ЗАГСЕ, сижу жду тебя...\r\
-Ты снова не сможешь?... Ну ничего, тогда как-нить в следующий раз, милый.\r\
Затем встает и спокойно уходит... ну, невеста... ну, видимо, не впервой...</div>",
},
[402873] = {
["sData"] = "<Tog> Я дарил ей цветы и называл принцессой\r\
<Strela_SS> Gnum: понимаю. но плачу....и плачу не первый день\r\
<Gnum> Strela_SS: пусть кто то тебя добивается, а не ты кого то\r\
<Tog> ...она не говорила о своих чувствах но я знал ....любит\r\
<Tog> ......я просто подарил ей свое сердце\r\
<Gnum> Strela_SS: это пройдет\r\
<Tog> и жил только ей одной.... я просто был ослеплен любовью\r\
<Tog> ... мы подходили идеально друг для друга\r\
Strela_SS: ага и жди своего принца всю жизнь\r\
<Deleted> Tog: но она оказалась мужиком?\r\
<Tog> ...ох моя любимая .....моя любимая Шестерка жигулей</div>",
},
}

за исключением того, что цитаты не переносятся(не праметра '\n') и в конце каждой цитаты тег </div>

PS: команда +BASH_show попрежнему не работает, ошибка таже:
Код
scripts/BashOrgRuPath/Core.lua:73: attempt to index field '?' (a nil value)
Go to the top of the page
+Quote Post
Wariner
сообщение 22.3.2009, 20:47
Сообщение #110


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




походу надо так
Код
function ParseData(sIncomingBuffer)
    local iAdded = 0
    local tNeedToGsub = {
        ["\t"] = "",
        ["\r"] = "",
        ["\n"] = "",
        ["&lt;"] = "<",
        ["&gt;"] = ">",
        ["&quot;"] = "\"",
        ["&amp;"] = "&",
        ["&minus;"] = "-",
    }
    for sWhatNeedToGsub, sToWhat in pairs(tNeedToGsub) do
        sIncomingBuffer = sIncomingBuffer:g(sWhatNeedToGsub, sToWhat)
    end
    local sIncomingBuffer = sIncomingBuffer:g("<br>", "\r\n")
    local sNeedInfo = ""
    for sNeedInfo in sIncomingBuffer:gmatch("(<div class=\"q\">.-</div></div>)") do
        local _,_, sTitle = sNeedInfo:find("<a href=\"http://bash.org.ru/quote/%d+\">(.*)</a>")
        local _,_, iNumber = sTitle:find("(%d+)")
        local iNumber = tonumber(iNumber)
        if not tAllData[iNumber] then
            --local _,_, sDescription = sNeedInfo:find("<div>(.*)</div>")
            --local _,_, sData = sDescription:find("<div>(.*)</div>")
            local _,_, sData = sNeedInfo:find("<div>(.*)</div>")
            local _,_, sPubDate = sNeedInfo:find("</a>(.*)/div>")
            tAllData[iNumber] = {}
            tAllData[iNumber]["sPubDate"] = sPubDate
            tAllData[iNumber]["sData"] = sData
            iAdded = iAdded + 1
            table.insert(tNewNumbers, iNumber)
        end
    end
    Core.SendToOps("<"..sBot.."> *** Обновление базы закончено! Добавлено "..iAdded.." цитат. Щас сохраним все данные...")
    if iAdded ~= 0 then
        iTimeToSend = iSecondsToSendNew
        SaveToFile(sMainDataTbl, tAllData, "tAllData")
        MakeTblForRandomChoose()
    end
end
Go to the top of the page
+Quote Post
Accelerator
сообщение 22.3.2009, 20:54
Сообщение #111


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Команды заработали, но цитаты выгдядит так)):
Цитата
[22:53:08] <bash.org.ru> [ Bash.Org.Ru - Цитатник Рунета ]
====================================================================================================
=======================
[ Цитата #402809, Добавлено В , Thu, 12 Mar 2009 08:45:02 +0400</div><div>xxx: 8 марта СЃ утра проснулся РѕС‚ С?СѓРјР° РІ РєРѕСЂРёРґРѕСЂРµ Рё РєСЂРёРєР° отца: "Р˜РґРё спать быстро! РЇ тебе сейчас кофе РІ постель принесу!"</div> ] [ new! ]

xxx: 8 марта СЃ утра проснулся РѕС‚ С?СѓРјР° РІ РєРѕСЂРёРґРѕСЂРµ Рё РєСЂРёРєР° отца:
"Р˜РґРё спать быстро! РЇ тебе сейчас кофе РІ постель принесу!"</div>

====================================================================================================
=======================
Go to the top of the page
+Quote Post
Wariner
сообщение 22.3.2009, 20:55
Сообщение #112


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




а в таблице что?
Go to the top of the page
+Quote Post
Accelerator
сообщение 22.3.2009, 21:10
Сообщение #113


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Код
tAllData = {
    [402841] = {
        ["sData"] = "Ходила в ЗАГС по делам. Там рядышком 2 двери. Одна в зал регистрации брака, другая к секретарю. Сижу на стуле в этом холле, рядом девушка в красивом вечернем белом платье, с цветами, смирно сидит и ждет кого-то, звонит телефон. Она медленно достает мобилу из сумочки и я слышу следующий разговор:\r\
-Привет, дорогой.\r\
-Да, я в ЗАГСЕ, сижу жду тебя...\r\
-Ты снова не сможешь?... Ну ничего, тогда как-нить в следующий раз, милый.\r\
Затем встает и спокойно уходит... ну, невеста... ну, видимо, не впервой...</div>",
        ["sPubDate"] = " , Sun, 15 Mar 2009 09:12:50 +0400</div><div>Ходила в ЗАГС по делам. Там рядышком 2 двери. Одна в зал регистрации брака, другая к секретарю. Сижу на стуле в этом холле, рядом девушка в красивом вечернем белом платье, с цветами, смирно сидит и ждет кого-то, звонит телефон. Она медленно достает мобилу из сумочки и я слышу следующий разговор:\r\
-Привет, дорогой.\r\
-Да, я в ЗАГСЕ, сижу жду тебя...\r\
-Ты снова не сможешь?... Ну ничего, тогда как-нить в следующий раз, милый.\r\
Затем встает и спокойно уходит... ну, невеста... ну, видимо, не впервой...</div>",
    },
}
Go to the top of the page
+Quote Post
Setuper
сообщение 22.3.2009, 21:13
Сообщение #114


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




дело в кодировках
http://mydc.ru/ipb.html?s=&showtopic=3...post&p=2276
Go to the top of the page
+Quote Post
Parad0x
сообщение 28.3.2009, 23:22
Сообщение #115


Участник
**

Группа: Пользователи
Сообщений: 35
Регистрация: 17.1.2009
Из: Свердловская область
Пользователь №: 1 836
Спасибо сказали: 3 раза




Так как скрипт парсит в первый раз при запуске только 100 цитат, то не могли бы пользователи скрипта выложить базу цитатbig_smile.gif На данный момент у меня только 900 цитат если у кого-то больше поделитесьbig_smile.gif
Go to the top of the page
+Quote Post
Accelerator
сообщение 11.4.2009, 11:53
Сообщение #116


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Цитата(Setuper @ 22.3.2009, 22:13) *

Что то не совсем понял... :(
Как сделать чтобы исправить косяк в кодировках?
Куда что нужно написать?
Go to the top of the page
+Quote Post
Wariner
сообщение 11.4.2009, 17:20
Сообщение #117


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




надо запихнуть в скрипт функцию Utf8ToAnsi(s) и таблицу utf8_decode
а перед выводом сообщения написать
сообщение = Utf8ToAnsi(сообщение)
Go to the top of the page
+Quote Post
vibe
сообщение 13.4.2009, 23:13
Сообщение #118


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 1.12.2008
Пользователь №: 1 260
Спасибо сказали: 0 раз




Парни, а можно сделать чтобы он не тока новые ленты с рсс брал, но и старые цитаты, чтобы кароче все цитаты были big_smile.gif
ибо цитирование на хабе поставил через миунуту чтобы цитаты выводилась, и цитаты повторяются - их просто не хватает big_smile.gif))
вот скрипт на еггдропа, он заточен под такую тему. мож че отудава выдерните ссылки какие нить или еще че big_smile.gif
заранее спасибо
Прикрепленный файл  27_bash.org.ru.rar ( 3.63 килобайт ) Кол-во скачиваний: 7
Go to the top of the page
+Quote Post
Wariner
сообщение 14.4.2009, 7:06
Сообщение #119


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




бредовая идея ставить рассылку через минуту! Флуд да и только! А по поводу всех цитат, то хаб тормозить начнёт!!!
Go to the top of the page
+Quote Post
vibe
сообщение 14.4.2009, 8:07
Сообщение #120


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 1.12.2008
Пользователь №: 1 260
Спасибо сказали: 0 раз




Цитата(Wariner @ 14.4.2009, 7:06) *
бредовая идея ставить рассылку через минуту! Флуд да и только! А по поводу всех цитат, то хаб тормозить начнёт!!!


Не важно ;) вы сможете сделать это или нет?)
Go to the top of the page
+Quote Post
GRY
сообщение 9.5.2009, 7:10
Сообщение #121


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 14.2.2009
Пользователь №: 2 211
Спасибо сказали: 0 раз




А можно сделать так чтоб цитаты из баша выводились в главный чат только в том случае если в чате было очтавлено юзерами скажем N сообщений? А то ночью весь чат цитатами забит. Не айс. Авручную каждыйй вечер настройки менять не вариант...)))) API2 (птока 4.1.1)
Go to the top of the page
+Quote Post

8 страниц V  « < 4 5 6 7 8 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: Цитатник Рунета
От темы с ID: 263
5 Setuper 9 112 22.3.2009, 20:44 Посл. сообщение: Accelerator
No new Topic has attachmentsОт: Цитатник Рунета
От темы с ID: 263
18 Nickolya 19 912 6.1.2009, 16:08 Посл. сообщение: Serhio
No New Posts От: Цитатник Рунета
От темы с ID: 263
10 xprofi 15 733 11.12.2008, 12:21 Посл. сообщение: artsi81

 



RSS Сейчас: 27.11.2024, 1:58