myDC.ru

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

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> Wiki INFO v 1.1, Получаем кратенькие статьи из википедии

Теги
Нет тегов для показа
DEN 007
сообщение 8.12.2010, 22:56
Сообщение #1


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Название: Wiki info v 1.0
Версия API: 2
Версия скрипта: 1.1 бета
Автор: DEN 007 & помог Nickolya.
Описание:
Смысл скрипта заключается в получении статьи из википедии на хаб. Подобный скрипт уже есть на форуме но, он работает не совсем корректно.

Отличие от скрипта уже выложенного на форуме:
Парсится не вся страница с вики, а только небольшая часть, то есть получаем кратенькую информация (Опционально). Если страницы не существует то приходит ответ о несуществующей странице. Сам скрипт состоит из двух частей сам LUA скрипт и парсер на php.
Предусмотренно меню; профили, которым доступна команда.

Выводит материалы из википедии по команде: !wiki <слово> или через меню.

Цитата
В версии 1.1:
1. Вынесены настройки
2. Добавлена настройка слать в приват или в чат (спс Saymon)
3. подправлен баг (не показывалась первая буква)


Для работы требуется библиотека LUA SOCKET.

Цитата
В архиве лежит php парсер но, если вдруг у вас нет веб сервера и вы не знаете как его поставить или еще какая то причина пользуйтесь моим big_smile.gif
Север 1:
хост: www.s001-sml.tk/more
Апи ключ: c1565e44c8ea942c01f9c391320c4e95

Север 2:
хост: www.s006-sml.tk/more
Апи ключ: 3a9e99c70d09a43cf20475734bf6cabe


Скачать: Прикрепленный файл  Wiki_INFO_v1.1.zip ( 10.94 килобайт ) Кол-во скачиваний: 167


P.S. Парсится страница для печати, я пробовал парсить через апи их так как это разумнее но, у меня нифига не получилось отфильтровать всю вики разметку, если у кого есть адекватный класс для работы с вики разметкой то напишите (класс есть но, он очень жирный нужен резвый...)


Спасибо сказали:
Go to the top of the page
+Quote Post
Dake
сообщение 8.12.2010, 23:24
Сообщение #2


Начинающий
*

Группа: Пользователи
Сообщений: 11
Регистрация: 15.12.2009
Пользователь №: 5 367
Спасибо сказали: 0 раз




скрипт крутой спасибо, но есть не большой баг:
[22:23:16] <[Android_Hub]> инофильм — кинопроизведение (фильм), предназначенное для демонстрации в кинотеатрах (в отличие от телефильма, предназначенного для демонстрации по телевидению).

не показывает первую букву ]> инофильм
Go to the top of the page
+Quote Post
Wariner
сообщение 9.12.2010, 23:38
Сообщение #3


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

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




поздравляю с реализацией! хорошо что идею не бросили!!!
Go to the top of the page
+Quote Post
DEN 007
сообщение 11.12.2010, 14:12
Сообщение #4


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Цитата(Dake @ 9.12.2010, 1:24) *
скрипт крутой спасибо, но есть не большой баг:
[22:23:16] <[Android_Hub]> инофильм — кинопроизведение (фильм), предназначенное для демонстрации в кинотеатрах (в отличие от телефильма, предназначенного для демонстрации по телевидению).

не показывает первую букву ]> инофильм


Щяс посмотрю... там есть еще парочка недочетов...
Go to the top of the page
+Quote Post
MARVELtm
сообщение 11.12.2010, 14:43
Сообщение #5


Активный участник
***

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




Добавить бы в конфигурацию:
Отправлять в приват = true (false)
Go to the top of the page
+Quote Post
Saymon21
сообщение 11.12.2010, 14:49
Сообщение #6


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




MARVELtm, Мог бы и сам сделать!
в начало скрипта допиши

Код
SendToPm = true

найди:
Код
if s then
                        Core.SendToNick(tUser.sNick, sBot..s)
                else
                    Core.SendToNick(tUser.sNick, sBot..'Не получилось получить информацию для "'..sElseData..'",попробуйте еще раз если не получилось, возможно какая то проблема с сервером, пожалуйста напишите об этом админам!')
                end


и замени на
Код
                if s then
                    if SendToPm then
                        Core.SendPmToNick(tUser.sNick, sBot, s)
                    else
                        Core.SendToNick(tUser.sNick, sBot..s)
                    end
                else
                    Core.SendToNick(tUser.sNick, sBot..'Не получилось получить информацию для "'..sElseData..'",попробуйте еще раз если не получилось, возможно какая то проблема с сервером, пожалуйста напишите об этом админам!')
                end


ps. не проверял


Спасибо сказали:
Go to the top of the page
+Quote Post
DEN 007
сообщение 13.12.2010, 1:58
Сообщение #7


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Обновил скрипт, актуальный скрипт в первом посте.
Жду ваших предложений.
Go to the top of the page
+Quote Post
ProGeTTo
сообщение 28.12.2010, 17:32
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 54
Регистрация: 13.9.2010
Из: Быдло сити))
Пользователь №: 7 687
Спасибо сказали: 3 раза




<[K.o.S]> Компью?тер (англ. computer — «вычислитель»), электро?нная вычисли?тельная маши?на (ЭВМ) — вычислительная машина, предназначенная для передачи, хранения и обработки информации.



я ничего не менял, именно так у меня выдает, я ввел "ЭВМ"
Go to the top of the page
+Quote Post
Ksan
сообщение 28.12.2010, 18:03
Сообщение #9


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Ну и что такого? Это знаки ударения вылезают в виде вопросительных знаков.
В принципе, можно и это убрать, только зачем..
Go to the top of the page
+Quote Post
ProGeTTo
сообщение 28.12.2010, 18:31
Сообщение #10


Активный участник
***

Группа: Пользователи
Сообщений: 54
Регистрация: 13.9.2010
Из: Быдло сити))
Пользователь №: 7 687
Спасибо сказали: 3 раза




Цитата(Ksan @ 28.12.2010, 19:03) *
Ну и что такого? Это знаки ударения вылезают в виде вопросительных знаков.
В принципе, можно и это убрать, только зачем..

всё-же это недочёт... как убрать то можно?
Go to the top of the page
+Quote Post
Ksan
сообщение 28.12.2010, 18:35
Сообщение #11


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Пусть автор убирает, если сочтёт нужным.
Лично я бы не стал, ибо лишняя суета.
Go to the top of the page
+Quote Post
ProGeTTo
сообщение 28.12.2010, 18:37
Сообщение #12


Активный участник
***

Группа: Пользователи
Сообщений: 54
Регистрация: 13.9.2010
Из: Быдло сити))
Пользователь №: 7 687
Спасибо сказали: 3 раза




Цитата(Ksan @ 28.12.2010, 19:35) *
Пусть автор убирает, если сочтёт нужным.
Лично я бы не стал, ибо лишняя суета.

не, если взялся он то пусть и доделывает...
темболее он писал что если есть недочёты писать сюда! я написал просто!
Go to the top of the page
+Quote Post
DEN 007
сообщение 30.12.2010, 6:14
Сообщение #13


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Цитата(ProGeTTo @ 28.12.2010, 19:37) *
не, если взялся он то пусть и доделывает...
темболее он писал что если есть недочёты писать сюда! я написал просто!


Да это недочет при условии кодировки cp1251, так и быть подправлю исключительно под нее

----спустя некий промежуток времени-----
Не знаю я как корректно убрать символы ударения с ют8, кто знает обьясните плиз!
Go to the top of the page
+Quote Post
Barmolei0808
сообщение 17.1.2011, 22:24
Сообщение #14


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


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




Спасибо всё работает.
Go to the top of the page
+Quote Post
Littlemuk
сообщение 13.3.2011, 19:33
Сообщение #15


Участник
**

Группа: Пользователи
Сообщений: 33
Регистрация: 6.3.2011
Из: Астрахань
Пользователь №: 8 903
Спасибо сказали: 5 раз




Поставил, все работает, спасибо big_smile.gif
Две небольшие проблемы.
1. Некоторых юзеров (в том числе и меня) выбивает из хаба сразу после ответа бота. Что не так может быть на этих машинах?
2. На некоторые запросы (например, курица) приходит ответ
Цитата
<<Википендия> >
Систематика
на Викивидах

Заранее спасибо big_smile.gif
Go to the top of the page
+Quote Post
the623
сообщение 16.6.2011, 13:58
Сообщение #16


Начинающий
*

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




а поставить ограничении можно? скажим каждый пользоватль сможет к скрипты обратится только 5 раз и не больше.
Go to the top of the page
+Quote Post
DEN 007
сообщение 18.6.2011, 0:18
Сообщение #17


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 276
Регистрация: 23.3.2010
Из: РФ Смоленск
Пользователь №: 6 429
Спасибо сказали: 60 раз




Цитата(the623 @ 16.6.2011, 14:58) *
а поставить ограничении можно? скажим каждый пользоватль сможет к скрипты обратится только 5 раз и не больше.


Можно, но я это делать не буду.
Go to the top of the page
+Quote Post
the623
сообщение 23.6.2011, 18:53
Сообщение #18


Начинающий
*

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




Цитата(DEN 007 @ 18.6.2011, 1:18) *
Можно, но я это делать не буду.

не подскажите как можно сделать так чтобы запрос посылающий скрипту был ввиден всем, а не только тому кто его послал!
Go to the top of the page
+Quote Post
Saymon21
сообщение 23.6.2011, 18:55
Сообщение #19


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




найти, где она, и заменить Core.SendToUser на Core.SendToAll
Go to the top of the page
+Quote Post
the623
сообщение 23.6.2011, 19:10
Сообщение #20


Начинающий
*

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




Цитата(Saymon21 @ 23.6.2011, 20:55) *
найти, где она, и заменить Core.SendToUser на Core.SendToAll

Нету такого, вот код
Цитата
local tCache = {}
function OnStartup()
sBot = '<'..iBot..'> '
end
function ChatArrival(tUser, sData)
sData = sData:sub(1, -2)
local sCmd = sData:match '^%b<>%s+%p(%S+)'
if sCmd then
sCmd = sCmd:lower()
if sCmd == sSeeCmd then
local sElseData = sData:match '^%b<>%s+%p%S+%s(.+)'
if sElseData then
local s = GetUrl(sElseData)
if s then
if SendToPm then
Core.SendPmToNick(tUser.sNick, sBot, s)
else
Core.SendToNick(tUser.sNick, sBot..s)
end
else
Core.SendToNick(tUser.sNick, sBot..'Не получилось получить информацию для "'..sElseData..'",попробуйте еще раз если не получилось, возможно какая то проблема с сервером, пожалуйста напишите об этом админам!')
end
else
Core.SendToNick(tUser.sNick, sBot..'Необходимо ввести интересующую фразу.')
end
return true
end
end
end

function UserConnected(tUser)
if tCanUseCmdsProfiles[tUser.iProfile] then
Core.SendToNick(tUser.sNick, sMenu)
end
end
OpConnected = UserConnected
RegConnected = UserConnected

function GetUrl(sUrl)
if tCache[sUrl] then
return tCache[sUrl]
end
local sMustBeUrl, iCode = http.request("http://"..host.."/Wiki-Parser.php?apikey="..apikey.."&link="..sUrl)
if iCode and iCode == 200 and sMustBeUrl and sMustBeUrl ~= "" then
return sMustBeUrl
end
end


Есть Core.SendPmToNick я его менял но ни чего не произошло.
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsURL Info PX
Скрипт, добавляющий описание к ссылкам
14 alex82 14 287 19.9.2016, 16:15 Посл. сообщение: dimetro
No New Posts От: User Info 1.0 (русская Версия)
От темы с ID: 205
0 Sergey613 4 251 9.10.2012, 20:03 Посл. сообщение: Sergey613
Closed Url Info
10 Saymon21 12 004 17.5.2012, 20:27 Посл. сообщение: Enyby
No New Posts Topic has attachmentsIP INFO v 1.0
Получаем информацию об ip с ripe.net
9 DEN 007 15 115 16.4.2012, 15:22 Посл. сообщение: -=Zion=-
No new Открытие wiki
Давно хотели, и вот она!
15 Nickolya 19 073 22.1.2012, 0:59 Посл. сообщение: mariner
No New Posts От: IP Info
От темы с ID: 3704
3 absent 6 453 7.2.2011, 2:18 Посл. сообщение: absent
No new Topic has attachmentsUser Info 1.0 (русская Версия)
API2 | Скрипт для просмотра информации о юзерах
26 dimetrius 37 172 28.12.2010, 17:54 Посл. сообщение: ProGeTTo
No New Posts От: Wiki INFO v 1.0
От темы с ID: 4121
3 Dake 7 248 9.12.2010, 15:00 Посл. сообщение: Saymon21
No New Posts Topic has attachmentsSystem Info 0.4a
Показывает системную информацию
0 Maximum 6 413 5.8.2010, 13:15 Посл. сообщение: Maximum
No New Posts Topic has attachmentsIP Info
API2 | Информация об IP-адресах, отправленных в главный чат
4 alex82 10 436 3.8.2010, 18:45 Посл. сообщение: Chimera

 



RSS Сейчас: 29.3.2024, 1:09