Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Сетевые скрипты [PtokaX] _ Anekbot

Автор: alex82 6.2.2009, 12:25

Название скрипта: AnekBot
Версия: 1.00 beta
Версия API: API2
Язык: русский
Автор: alex82

Описание: Скрипт скачивает анекдоты из Интернета и отсылает в главный чат. Анекдоты могут выводиться как автоматически, так и по запросу пользователя. В настройках скрипта уже имеются 6 серверов - anikdot.ru, best-aneks.com, wow.by, allprikol.ru, pda.anekdot.ru, bash.org.ru (последний - не совсем анекдоты, но тоже весело). Есть возможность добавления новых серверов. Также есть возможность чтения анекдотов из локальной базы.

Для работы скрипта требуется библиотека LuaSocket.

Дополнительная информация: Скрипт имеет один серьёзный недостаток: подвисание хаба во время запроса информации из Интернета. Это происходит не из-за ошибки в скрипте, а благодаря глючной библиотеке LuaSocket. В связи с этим разработка скрипта замораживается на неопределённый срок - до появления нормальной библиотеки для работы с сокетами.

Скачать:
 AnekBot_1.00_beta.rar ( 20.35 килобайт ) : 1380

База анекдотов (8400 штук):
 base.rar ( 512.47 килобайт ) : 1179

Автор: Liiion911 23.2.2009, 9:14

Спасибо, ну хоть адин скрипт с исходником ))) secret_smile.gif порадовало присутствие базы и опциональность )) тока ве-равно переделвать, грузит сильно ((

Автор: alex82 23.2.2009, 18:30

Цитата(Liiion911 @ 23.2.2009, 8:14) *
тока ве-равно переделвать, грузит сильно ((

В каком плане?

Автор: RomanGTe 27.2.2009, 17:27

Такая проблема, всё установил работает...проходит время он просто выпадает
Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден

Птоха 4.1.1.1
что делать незнаем

Автор: alex82 27.2.2009, 18:24

Цитата(RomanGTe @ 27.2.2009, 16:27) *
Такая проблема, всё установил работает...проходит время он просто выпадает
Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден

Парсеры загружаются только при запуске скрипта, либо по команде !anekrestart. Соответственно, само по себе это происходить не может.

Цитата(RomanGTe @ 27.2.2009, 16:27) *
Птоха 4.1.1.1

Нету такой птоки.

Автор: RomanGTe 27.2.2009, 18:50

с птохой напутал 4.1.1

А бот всё запустили настроили на баш и чтоб каждые 15 минут сам выдавал цитату,
поработал чуть и выдает ошибку с парсерами.

Автор: alex82 27.2.2009, 19:06

Может файлы ненароком удалили?

Автор: RomanGTe 27.2.2009, 19:25

Цитата(alex82 @ 27.2.2009, 19:06) *
Может файлы ненароком удалили?



Птоку делал я(собирал скрипты) запоковал и передал ему. Вот он когда распоковал один раз он заработал потом вновь отказал.так делать нельзя юзеры ругаються на регистрацию(может заодно подскажите как сохранить список чтоб им не регаться)

Парень грит вообще ничего не делал, и пару раз такое было при перезапуске скриптов. Ошибок скриптов никаких не выдаёт только в чате перестают работать команды и пишет ошибку которую я указал выше.

Автор: Wariner 27.2.2009, 19:29

Пусть человек сам скачает нужные скрипты и если не будет работать напишет сюда, а то сломанный телефончик получается!!!

Автор: SCALOlaz 28.2.2009, 11:29

Цитата(RomanGTe @ 27.2.2009, 18:27) *
Такая проблема, всё установил работает...проходит время он просто выпадает
Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
...
[17:26:03] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден

Птоха 4.1.1.1
что делать незнаем
1. папка AnekBot обязательна, папка Parsers обязательна. Внутри ничо не трогать.

2. Файл AnekBot.lua, в начале правим, чтобы стало вот так:
Код
path = Core.GetPtokaXPath().."scripts/"


Вот ЭТА же версия, но с возможностью отключения регистрации бота, и заданием в настройке Имени Меню для бота.

 AnekBot.rar ( 24.56 килобайт ) : 267

Автор: RomanGTe 28.2.2009, 17:16

ой всё=) Перезагрузили сервер и заработал на 5 с +
Спасибо за бота отличный! вот вопрос можно сделать чтоб он не только с одного сервера брал а скажем со всех сразу или по выбору с определенного количества, меняя их каждый раз когда приходит время выводить новое сообщение в чат?

Автор: alex82 28.2.2009, 19:31

Цитата(RomanGTe @ 28.2.2009, 16:16) *
ой всё=) Перезагрузили сервер и заработал на 5 с +
Спасибо за бота отличный! вот вопрос можно сделать чтоб он не только с одного сервера брал а скажем со всех сразу или по выбору с определенного количества, меняя их каждый раз когда приходит время выводить новое сообщение в чат?

Можно. Некоторое время такая фича даже присутствовала в скрипте. Потом убрал как бесполезную. (

Автор: RomanGTe 1.3.2009, 4:22

Цитата(alex82 @ 28.2.2009, 19:31) *
Можно. Некоторое время такая фича даже присутствовала в скрипте. Потом убрал как бесполезную. (


подскажи пожалуйста как её востановить? можно даже просто кд только скажи куда его вписать, если сложно вписывать, то сделай пожалуйста как надо, бот этот одна из самый крутых вещей на нашем хабе ИМХО

Автор: alex82 1.3.2009, 5:54

Цитата(RomanGTe @ 1.3.2009, 3:22) *
подскажи пожалуйста как её востановить? можно даже просто кд только скажи куда его вписать, если сложно вписывать, то сделай пожалуйста как надо, бот этот одна из самый крутых вещей на нашем хабе ИМХО

Строка 183:
Код
        local Server = tCfg.Server


Сразу после неё добавь
Код
        if RandomServer then
            Server = math.random(1,table.maxn(tServers))
        end


И в настройках:
Код
        RandomServer = true

Автор: OtshelnikFm 16.3.2009, 22:27

С 20 февраля работал скрипт без ошибок а сегодня выдал:

[15:57] Синтаксис ... - \scripts\AnekBot.lua:212: bad argument #1 to 'gsub' (string expected, got nil)

посмотрел лог команд которые использовали (подумал может ошибка при выборе между серваками)

[15:56:23] <Команды> Послана команда хабу: <Slava1> !anek
[15:56:34] <Команды> Послана команда хабу: <Slava1> !anek
[15:57:23] <Команды> Послана команда хабу: <Slava1> !anek
[15:57:30] <Команды> Послана команда хабу: <Slava1> !anek
[17:47:01] <Команды> Послана команда хабу: <kirpich> !anek

-т.е. ничего особенного. Единственное что -
это то что пользовался один юзер (судя по логам достаточно часто использовал команду). Такое может быть - если часто грузить командами чтоб вываливалась такая ошибка?

Сам попробовал засыпать скрипт этой командой - все нормально

Автор: alex82 17.3.2009, 7:45

OtshelnikFm

Судя по всему, лагает сервер. А может быть я ошибся в одном из парсеров.

На каком сервере это происходило?

Автор: OtshelnikFm 18.3.2009, 14:36

Сложно сказать на каком сервере. Как это можно узнать?

AnekSettings.tbl изменён 9 марта 2009 - значит отсюда?:
tCfg = {
["Enable"] = 1,
["Time"] = 16,
["Auto"] = 0,
["Server"] = 0,
}

Автор: alex82 19.3.2009, 2:07

Цитата(OtshelnikFm @ 18.3.2009, 13:36) *
["Server"] = 0,

Значит из локальной базы.
Базу где брал? Пустых строк в файле нету?

Автор: OtshelnikFm 19.3.2009, 14:38

base.txt - стандартная в комплекте шла. Строк там пустых неувидел

Автор: 250580 17.5.2009, 23:37

а что скрипт только для зарегеных?

Автор: alex82 27.5.2009, 3:37

Цитата(250580 @ 17.5.2009, 23:37) *
а что скрипт только для зарегеных?
Нет, командой запроса анекдота могут пользоваться все юзеры.

Автор: Atlant 18.6.2009, 9:03

А с прокси его тоже не подружить? А то у меня хаб в локалке и инета на сервере с хабом нет...

Автор: Uncle_Dif 18.6.2009, 13:58

Пытаюсь установить скрипт. Не получается. Пишет:'D:\Аврора-хаб\0411\libs\socket.dll'
no file 'D:\Аврора-хаб\0411\scripts\libs\socket.dll'
Подозреваю, я неверно поступил с ботом и библиотекой. Если невлом, расскажи пошагово от "скачать"....(нуб я)

Автор: Wariner 18.6.2009, 14:19

2Atlant: с проксей врядли получится подружить...

2Uncle_Dif: http://mydc.ru/index.html?showtopic=43&view=findpost&p=107 прочитай выделенный текст

Автор: Uncle_Dif 18.6.2009, 15:20

Цитата(Wariner @ 18.6.2009, 14:19) *
2Atlant: с проксей врядли получится подружить...

2Uncle_Dif: http://mydc.ru/index.html?showtopic=43&view=findpost&p=107 прочитай выделенный текст



Сделал так- распаковал в уже существующую libs. Не запускается. Пишет туже ошибку. Надо было новую libs создать?

Цитата(Uncle_Dif @ 18.6.2009, 15:13) *
Сделал так- распаковал в уже существующую libs. Не запускается. Пишет туже ошибку. Надо было новую libs создать?

PS В архиве нет файла socet.dll - это имеет значение?

Автор: alex82 18.6.2009, 15:31

Попробуй бросить в scripts/libs, а если и это не поможет, то в корневую папку птоки.

Автор: Uncle_Dif 18.6.2009, 21:40

Цитата(alex82 @ 18.6.2009, 16:31) *
Попробуй бросить в scripts/libs, а если и это не поможет, то в корневую папку птоки.


Если "корневая папка"- это из сообщения "'D:\Аврора-хаб\0411\libs\socket.dll'" папка 0411, то я бросил (распаковал) в неё архив. Скрипт не запускается и пишет по-прежнему: no file 'D:\Аврора-хаб\0411\scripts\libs\socket.dll'. Меня смущает отсутствие в архиве файла socet.dll. Его в архиве не должно быть?

PS очень охота иметь этот скрипт и другие развлекательные. Хаб я держу главным образом ради общения. Пасяб за внимание к нубу))
PSPS перещелкал все свои скрипты- во многих также пишет no file 'D:\Аврора-хаб\0411\scripts\libs\socket.dll'. Не пора ли мне качать новую птоку? а?

Автор: mariner 18.6.2009, 22:13

переноcим папку libs из папки scripts в D:\Аврора-хаб\0411\ и получаем PROFIT!

если и это не покатит - то бинарник (exe) птоки скачай заново

Автор: Setuper 19.6.2009, 20:38

Ещё есть вариант переместить содержимое папка libs непосредственно в папку с ptokax.exe

Автор: Uncle_Dif 20.6.2009, 9:03

Сменил птоку, взял её здесь- InstalHub. 0410. Скрипт запускается, в меню появилось "Анекдот". Но: 1. в чате -[cor4]Uncle_Dif> !anek 2.[11:51] Скрипт запущен.
[11:51] Синтаксис ...e_Dif-Hub\InstaHub-0.23\InstaHub\scripts\AnekBot.lua:270: bad argument #2 to 'random' (interval is empty), это я перевел-[11:51] Синтаксис... e_Dif-Hub\InstaHub-0.23\InstaHub\scripts\AnekBot.lua:270: плохой параметр *2 к 'случайному' (интервал пуст).
Понимаю так - нуб, исправь вот это [ ]. Что же исправить? а?

Автор: Setuper 20.6.2009, 12:20

Ошибка, на самом деле, переводится так: в строке 270 у функции 'random' плохой второй аргумент (пустой интервал). Другими словами второй аргумент TotalAneks равен значению nil. Смотрим далее, где у нас определяется переменная TotalAneks. Она определяется в строке 68: TotalAneks = GetTotalAneks(). Ищем функцию GetTotalAneks(), строка 251. Видим, что эта функция читает данные из файла localbase. Ищем переменную localbase. Находим её в строке 14. Теперь нам должно быть понятно, что дело в путях.

Это означает что в данном скрипте не правильно прописаны пути.
замени

Код
path = "scripts/"
на
Код
path = Core.GetPtokaXPath().."scripts/"

Автор: Uncle_Dif 20.6.2009, 19:05

Цитата(Setuper @ 20.6.2009, 12:20) *
Ошибка, на самом деле, переводится так: в строке 270 у функции 'random' плохой второй аргумент (пустой интервал). Другими словами второй аргумент TotalAneks равен значению nil. Смотрим далее, где у нас определяется переменная TotalAneks. Она определяется в строке 68: TotalAneks = GetTotalAneks(). Ищем функцию GetTotalAneks(), строка 251. Видим, что эта функция читает данные из файла localbase. Ищем переменную localbase. Находим её в строке 14. Теперь нам должно быть понятно, что дело в путях.

Это означает что в данном скрипте не правильно прописаны пути.
замени
Код
path = "scripts/"
на
Код
path = Core.GetPtokaXPath().."scripts/"

-----------------------------------------------------------------------------------------------
Спасибо Алексу82 и тебе, анекдоты пошли. Они пошли - вопросы остались:
1. В меню про "Анекдот" ни синь пороху, нет даже упоминания....

PS Вниманию Нубов! Как запустите АнеБот- ждите! Им еще предстоит загрузиться, у меня первенец родился через 25 минут после запуска и !anek

Цитата(RomanGTe @ 27.2.2009, 17:27) *
Такая проблема, всё установил работает...проходит время он просто выпадает
Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[17:26:03] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден

Птоха 4.1.1.1
что делать незнаем

-------------------------------------------------------------------------------------------------
Я дополнил этот флуд командой !anek и через 25 минут имел то, что вы видите:
19:29:58] Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[19:29:58] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[19:29:58] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[19:29:58] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[19:29:58] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[19:29:58] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден
[19:38:28] Ошибка: Парсер anikdot.ru не найден
[19:38:28 | 10.236.12.78] <Uncle_Dif> !anek
[20:03:43] <AnekBot>

- Вова, почему ты не играешь с Васей?
- Ну, во-первых, он хвастун. Во-вторых, он трус, а в-третьих, он грызет ногти.
- Это не страшно, у многих эта привычка...
- Мама, он грызет их на ногах.

[20:04:40] <AnekBot>

В Интернете появился сайт психиатрической больницы.
Адрес: www, бе-бе-бе, ме-ме-ме, фр-фр-фр!

Про пожевать уже не скажу афтару, негигинична))- прими 3D пасяб)) и поясни, почему в меню про Анекдот ни чего не сказано? разумеется у меня.



Прошу прощения за нуб-наезды! После перещелкивания своего ника менеджером профилей- во всех профилях в меню появился Анекдот, и у мастера (по началу отсутствовал), так что можешь проверить на Uncle_Dif-Hub на IP 92.245.57.91
СПАСИБО

Автор: Sekretchik 2.7.2009, 21:44

Спасибо тебе alex82 за реально рульный скрипт!!!
Работает 100% на Ptokax 0.4.1.1 LUA 5.1.3 (5.1.4) Api 2
Реально лучше чем мультибот!!!
Огромный тебе сенькс.

Автор: ВАСЯ 15.7.2009, 10:50

Всем привет! Перевел Anekbot для PtokaX 0.3.6.0 как указано здесь http://mydc.ru/topic605.html . Проводил разные манипуляции описаные здесь, не хочет работать

Код
Синтакс C:\Program Files\PtokaX\scripts\AnekBot.lua:72: attempt to call global 'GetTotalAneks' (a nil value)

Подскажите, пожалуйста, что сделать, чтобы заработало и как задействовать только локальную базу? (сервер не подключен к интернет, просто в локалке болтается)

Автор: Wariner 15.7.2009, 10:56

приложи файл с переделками посмотрим. скорее всего приписал Core не к тем функциям.

Автор: ВАСЯ 15.7.2009, 11:04

Вот мой файлик http://mydc.ru/r/?http://ifolder.ru/13112229

Автор: Wariner 15.7.2009, 11:08

Да я был прав... перечитай ещё раз инструкцию! Core надо добавлять не ко всем функциям!

Автор: ВАСЯ 15.7.2009, 11:26

Да, действительно. Я прилепил Core. везде где можно big_smile.gif . Спасибо за подсказку, теперь PtokaX синтаксических ошибок не находит, при ручном выводе анекдота он появляется (соответственно для меня), !anekinfo пишет что всё включено, сервер - локальная база, но анекдотов в чате нет.
Что ещё поковырять можно в скрипте?

Автор: Wariner 15.7.2009, 16:59

точно не знаю. может попробовать исправить эту строчку

Код
TimerID = TmrMan.AddTimer(tCfg.Time*60*1000,"OnTimer")

на
Код
TimerID = TmrMan.AddTimer(tCfg.Time*60*1000,"Core.OnTimer")


Автор: ВАСЯ 15.7.2009, 17:13

Пошел ещё раз читать инструкцию, потом скопировал рекомендуемые команды и в скрипте через поиск прошелся по всем возможным, действительно пропустил в TimerID = TmrMan.AddTimer(tCfg.Time*60*1000,"Core.OnTimer"). Я дуб в програмировании, вот и не подумал, что и здесь надо менять......опять невнимательность подвела.
Wariner, огромное спасибо за помощь!!!

Автор: Setuper 15.7.2009, 18:57

не не не
Наоборот:

Код
TimerID = TmrMan.AddTimer(tCfg.Time*60*1000,"OnTimer")


и

Код
function OnTimer()
...
end

Автор: ВАСЯ 15.7.2009, 23:56

Всё супер! Всё работает! Спасибки всем создателям, скрипт у меня не анекдоты пахабные вещает, а афоризмы big_smile.gif . Базу поменял...

Автор: Артём 23.7.2009, 4:39

Как правельно внести базу с анекдотами с сайта? http://mydc.ru/r/?http://www.vigvam.ru/index.php?mid=2953 (анекдоты Романа Трахтенберга)
Я зделал так ....
{"vigvam.ru", "http://www.vigvam.ru/index.php?mid=2953", "vigvam.lu"},
и выдало в чате с анекдотом ... Ошибка: Парсер vigvam.ru не найден
что я неправельно зделал подскажите. unhappy.gif

Автор: alex82 23.7.2009, 13:01

Цитата(Артём @ 23.7.2009, 4:39) *
... Ошибка: Парсер vigvam.ru не найден
что я неправельно зделал подскажите. unhappy.gif
Парсер пиши...

Автор: Артём 23.7.2009, 14:44

beat_brick.gif я вроде всё правельно написал
{"vigvam.ru", "http://www.vigvam.ru/index.php?mid=2953", "vigvam.lu"}, (пробовал и место "vigvam.lu" ставить "vigvam.ru" всеравно ошибка)
или нет?

Автор: serrrios 25.7.2009, 13:54

Очень бы хотелось возможность брать цитаты с разных серверов, всмысле чтоб под каждый сервер можно было делать отдельное меню.

Автор: Setuper 4.8.2009, 16:35

Под каждый сайт нужно писать свой парсер (парсер = грамматический разбор разметки).

Автор: Sekretchik 5.8.2009, 9:11

Последние два дня вот это выходит:
[10:06:09] Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[10:06:09] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[10:06:09] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[10:06:09] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[10:06:09] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[10:06:09] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден

Но в то же время все остальные скрипты работающие с инетом (я имею в виду - запрос данных - например, скрипт Погода) работают отлично.
До этого скрипт работал исключительно!!! Еще раз отдельное спасибо Аффтару (:

Только вот ошиПка эта... :(

Пипец... Простите, изменил путь указанный к "патчу" с path = "scripts/" на path = Core.GetPtokaXPath().."scripts/" и заработало... Но тогда вопрос, почему до этого работал?

Автор: Uncle_Dif 17.8.2009, 10:09

У меня в чате пишет [12:49:36] Ошибка: Парсер anikdot.ru не найден. Можно этот парсер сменить на к.л. другой, если не анеки- то приколы, например? или убрать из скрипта...?


Цитата(alex82 @ 23.7.2009, 13:01) *
Парсер пиши...


Добрый час, а тебе не трудно написать такой парсер? Чтоб заменить это: [12:49:36] Ошибка: Парсер anikdot.ru не найден

Автор: Sekretchik 19.8.2009, 13:55

При смене сервера АнекБота на серв pda.anekdot.ru скрипт пискнул в приват такой мессагой:

Папка с хабом: Hub/scripts/AnekBot/Parsers/pda_anekdot.lu:3: bad argument #1 to 'find' (string expected, got nil)

Минут с десять "чесал" затылок, потом пришел к выводу:

Оказалось, что просто надо сменить адрес в скрипте
с
{"pda.anekdot.ru", "http://pda.anekdot.ru/anekdots/ random ", "pda_anekdot.lu"},
на
{"pda.anekdot.ru", "http://pda.anekdot.ru/anekdots/ main ", "pda_anekdot.lu"},

заработало still_dreaming.gif

Автор: Uncle_Dif 13.9.2009, 10:28

У меня АнекБот замечательно работал, а теперь пишет:
[12:47] Синтаксис E:\Uncle_Dif\Uncle_Dif-Hub\scripts\AnekBot.lua:270: bad argument #2 to 'random' (interval is empty)

270 строка:
local n = math.random(1,TotalAneks)

Подскажите, конкретно что изменить и как?

Автор: Setuper 13.9.2009, 15:36

переменная TotalAneks не определена

Автор: Uncle_Dif 13.9.2009, 17:22

Цитата(Setuper @ 13.9.2009, 16:36) *
переменная TotalAneks не определена


правильно мыслю?:
local n = math.random(1,TotalAneks)
изменить на
local n = math.random(?,TotalAneks)
как "определить"?

Автор: Setuper 13.9.2009, 17:42

Ошибка появляется из-за того, что не загружена база из файла AnekBot/base.txt

Автор: Uncle_Dif 13.9.2009, 17:53

Цитата(Setuper @ 13.9.2009, 18:42) *
Ошибка появляется из-за того, что не загружена база из файла AnekBot/base.txt


Этот файл находится в папке AnekBot в scripts... до недавнего времени всё работало...
Мне этот base.txt вытащить в папку scripts?

Автор: ILYA INDIGO 22.9.2009, 2:17

Цитата(RomanGTe @ 27.2.2009, 17:50) *
с птохой напутал 4.1.1

А бот всё запустили настроили на баш и чтоб каждые 15 минут сам выдавал цитату,
поработал чуть и выдает ошибку с парсерами.


Код
bot = SetMan.GetString(21)    --Имя бота
Parsers = Core.GetPtokaXPath().."scripts/Anekdots/Parsers" --Папка с парсерами
config = Core.GetPtokaXPath().."scripts/Anekdots/Settings.tbl"    --Файл настроек
localbase = Core.GetPtokaXPath().."scripts/Anekdots/Base.txt"    --Локальная база анекдотов


Код
tServers = {    --1-й параметр - имя сервера(можно писать что угодно); 2-й параметр - URL файла с анекдотом; 3-й параметр - имя файла парсера
    {"anikdot.ru", "http://anikdot.ru/cgi-bin/anik.cgi", ""..Parsers.."\\anikdot.lu"},
    {"best-aneks.com", "http://best-aneks.com/rss.php", ""..Parsers.."\\best_aneks.lu"},
    {"wow.by", "http://wow.by/rss.php?random", ""..Parsers.."\\wow_by.lu"},
    {"allprikol.ru", "http://allprikol.ru/rand/anekdot.html?#34;, ""..Parsers.."\\allprikol.lu"},
    {"pda.anekdot.ru", "http://pda.anekdot.ru/anekdots/random", ""..Parsers.."\\pda_anekdot.lu"},
    {"bash.org.ru", "http://bash.org.ru/random", ""..Parsers.."\\bash.lu"},
}


Ну дальше, если не дурак, то сам поймёшь что как и почему и зачем осталось сделать big_smile.gif

Автор: Uncle_Dif 24.9.2009, 17:25

Непонятная ситуевина: работал себе скрипт и вдруг перестал, при запросе выдает в чат -!anek и отключается. Пишет ошибку:

[20:17] Синтаксис E:\Uncle_Dif\Uncle_Dif-Hub\scripts\AnekBot.lua:270: bad argument #2 to 'random' (interval is empty)

Срипт удалил и паспаковал по-нове - таже история....

Что делать? а главное- КАК?

Автор: Uncle_Dif 26.9.2009, 0:14

Цитата(Uncle_Dif @ 24.9.2009, 17:25) *
Непонятная ситуевина: работал себе скрипт и вдруг перестал, при запросе выдает в чат -!anek и отключается. Пишет ошибку:

[20:17] Синтаксис E:\Uncle_Dif\Uncle_Dif-Hub\scripts\AnekBot.lua:270: bad argument #2 to 'random' (interval is empty)

Срипт удалил и паспаковал по-нове - таже история....

Что делать? а главное- КАК?



Дубина! Орясина стоеросовая! Пень трухлявый! На тебе:
localbase = Core.GetPtokaXPath().."scripts/Anekdots/Base.txt"

Для тех, кто нубее меня  AnekBot_1.0_beta.rar ( 537.11 килобайт ) : 67
. Архив базы тут же.

Автор: belka 2.10.2009, 12:06

Цитата(Uncle_Dif @ 26.9.2009, 0:14) *
Дубина! Орясина стоеросовая! Пень трухлявый! На тебе:
localbase = Core.GetPtokaXPath().."scripts/Anekdots/Base.txt"

Для тех, кто нубее меня  AnekBot_1.0_beta.rar ( 537.11 килобайт ) : 67
. Архив базы тут же.


Тогда почему база анекдотов Ваша типо локальная не запускается?..

Автор: Uncle_Dif 2.10.2009, 16:27

Цитата(belka @ 2.10.2009, 13:06) *
Тогда почему база анекдотов Ваша типо локальная не запускается?..


Это к афтару, тут уж я не помогу, нубоват....

Автор: SAG 2.11.2009, 22:23

То же не запускалась локальная база, хотя из инета все работало. Прописал абсолютный путь к базе и все заработало. Скрипт хороший, спасибо.

Автор: TiGRpp 12.1.2010, 3:41

Цитата(alex82 @ 6.2.2009, 13:25) *
Название скрипта: AnekBot
Версия: 1.00 beta
Версия API: API2
Автор: alex82

Для работы скрипта требуется библиотека LuaSocket.

Дополнительная информация: Скрипт имеет один серьёзный недостаток: подвисание хаба во время запроса информации из Интернета. Это происходит не из-за ошибки в скрипте, а благодаря глючной библиотеке LuaSocket. В связи с этим разработка скрипта замораживается на неопределённый срок - до появления нормальной библиотеки для работы с сокетами.

Цитата
...подвисание хаба во время запроса информации...благодаря глючной библиотеке LuaSocket.

Существует ряд скриптов, использующих эту библиотеку.
В Линуксе Птоха не подвисает, а отключается, и о возможных причинах я несколько раз вопрошал здесь на форуме.
Одной из правдоподобных причин был предложен вариант конфликта версий библиотек. У меня дополнительно возникло подозрение, что Центос установлен у меня кривовато, потому я вчера поставил Убунту и запустил хаб именно с этим скриптом. В Убунте Птоха так же отключилась, показав сообщение (чего в Центосе не было): "Невозможно соединиться с сервером". Вот может Вам любопытно, на ванильной Птохе этот скрипт работает бесперебойно.
Я далек от программирования, но очень хочется понять: есть что-нибудь общее в библиотеках для Виндовс и Линукса? Что же такое происходит, что приводит в одном случае к подвисанию, а в другом к отключению хаба?

Автор: Хабыч 12.1.2010, 4:33

Эх, ковырял я этот скрипт не хочет с инета тягать он анекдоты. Не находит сервера которые сразу вложены. baffle.gif

Раскрывающийся текст
[19:58:59] Ошибка: Ошибка при загрузке парсера anikdot.ru: файл anikdot.lu не найден
[19:58:59] Ошибка: Ошибка при загрузке парсера best-aneks.com: файл best_aneks.lu не найден
[19:58:59] Ошибка: Ошибка при загрузке парсера wow.by: файл wow_by.lu не найден
[19:58:59] Ошибка: Ошибка при загрузке парсера allprikol.ru: файл allprikol.lu не найден
[19:58:59] Ошибка: Ошибка при загрузке парсера pda.anekdot.ru: файл pda_anekdot.lu не найден
[19:58:59] Ошибка: Ошибка при загрузке парсера bash.org.ru: файл bash.lu не найден


библиотеки есть.

Автор: Sonicjkeee 2.2.2010, 21:23

Не фига, эта не пашет что тока не сделал.

Автор: Anarhiya 8.2.2010, 20:25

как сделать чтобы бот не показывался на хабе?

Автор: Артём 8.2.2010, 21:27

Anarhiya
66 строку закоментируй big_smile.gif

Код
--Core.RegBot(bot, "Розказчик анекдотов :)","", true)

Автор: Anarhiya 8.2.2010, 23:43

Благодарю )

Автор: Sunshine-hub 19.2.2010, 17:54

UP

Подскажите господа.

Скрипт api2 все работало до того как поставил фаервол жестко закрывающий порты.

Открыты порты 411 TCP & 1209 UDP и все остальное наглухо закрыто.

Выдается Ошибка: Невозможно соединиться с сервером allprikol.ru

Подскажите какие порты использует парсер-сокет?

Автор: Wariner 19.2.2010, 18:00

я не знаю, но первое что пришло на ум эт 80... сильно не пинать xDDD

Автор: Sunshine-hub 20.2.2010, 15:37

Цитата(Wariner @ 19.2.2010, 17:00) *
я не знаю, но первое что пришло на ум эт 80... сильно не пинать xDDD


80 открыт, по этому я и спросил

Автор: zorx007 2.3.2010, 15:25

embarrassed.gif плохо что не работает из под linux версии Птоки.....

Автор: ((((F@UST)))) 28.3.2010, 16:12

Кто нибудь может мне помочь разобраться,почему у меня не оди из здесь присутствующих Анекботов у меня не работает....Выдает ток одна команда +анек.И больше не че не происходит.ПОМОГИТЕ!!!!ПЛИЗЗЗЗ!!!!!!!!

Автор: Артём 28.3.2010, 16:18

((((F@UST)))) скачай скрипт с первого поста, он рабочий 100% , у меня он стоит уже долгое время big_smile.gif

Автор: Saymon 28.3.2010, 16:30

Я пробовал его ставить, даже с локальной базы не стягивал он :(
просто команды в чат пролетали

Автор: Артём 28.3.2010, 16:47

Значит проблема в вас самихbig_smile1.gif
Только что ради интереса скачал с первого поста скрипт, закинул на "голую" PtokaX

Работает скрипт, вот что выдавало при нажатие на менюшке
Цитата
[16:46:25] <AnekBot>

- Доктор, когда я становлюсь на голову, кровь ударяет мне в голову. Становлюсь на ноги, а кровь мне в ноги не бросается. Почему это?
- В ногах нет пустот.


[16:46:33] <AnekBot> Подождите 1 сек прежде чем отсылать новый запрос.
[16:46:37] <AnekBot>

- Девочка, а как зовут твою собачку?
- СВИНЮК!
- А почему?
- ПОТОМУ ЧТО ОНА ЖРЕТ СВИНЕЙ!!!

Автор: ((((F@UST)))) 28.3.2010, 18:38

Цитата(Артём @ 28.3.2010, 15:18) *
((((F@UST)))) скачай скрипт с первого поста, он рабочий 100% , у меня он стоит уже долгое время big_smile.gif



Артем
С какого поста???А ты сам не сможешь рабочий скрипт с базами выложить???Очень надо unhappy.gif

Автор: Saymon 28.3.2010, 18:41

рабочий в http://mydc.ru/topic1295.html?view=findpost&p=9462!!!

Автор: ((((F@UST)))) 28.3.2010, 19:02

Слушай Saymon У меня даже с первого поста не работает,я уже менял сервер анекдотов но все моё время прошло в пустую.Может ты напишешь мне,может в самом скрипте надо что-то изменить,добавить???Пишет у меня только ! anek и все...И никаких анекдотов не предоставляет.(У меня PtokaX 0.4.1.1) ПОМОГИ!!!!


ЗАРАНЕЕ БЛАГОДАРЮ!!!

Автор: Saymon 28.3.2010, 19:05

библиотека луа сокет стоит?

Автор: ((((F@UST)))) 28.3.2010, 19:29

Saymon Все уже сам разобрался...хух big_smile1.gif Ты только одно мне скажи,здесь на форуме я скачивал две библиотеки,и только одна мне подошла.Почему так???И можно ли эту библиотеку использовать для других скриптов???

ЗАРАНЕЕ СПАСИБО ТЕБЕ!!!

Автор: Saymon 28.3.2010, 19:40

ты читай всё внимательней!
можно

Автор: alex82 28.3.2010, 20:37

Цитата(((((F@UST)))) @ 28.3.2010, 19:29) *
здесь на форуме я скачивал две библиотеки,и только одна мне подошла.Почему так???
Видимо, вторая была предназначена для РусХаба.

К PtokaX 0.4.x.x подходят только те библиотеки, которые были скомпилированы специально для нее. Даже не пытайся подсовывать ей либы от PtokaX 0.3.x.x, RusHub'а, Lua-AIO, и.т.д.

Автор: Nickolya 29.3.2010, 14:45

В теме откуда ты скачивал, а скорее всего это http://mydc.ru/topic43.html, написано какая версия библиотеки к какой версии хаба... Второй апи начался с эпохи 0.4.0.0

Автор: TiGRpp 29.3.2010, 22:25

Цитата(Артём @ 28.3.2010, 17:47) *
Значит проблема в вас самихbig_smile1.gif
Только что ради интереса скачал с первого поста скрипт, закинул на "голую" PtokaX
[expand=Работает скрипт, вот что выдавало при нажатие на менюшке][/expand]

В Windows скрипт работает, в Линуксе на ванильной - "голой" - PtokaX дышит, но при подключении юзеров, PtokaX отключается по причине глючной библиотеки сокетов.

Автор: Артём 29.3.2010, 22:33

TiGRpp, насколько я знаю у Saymon на Windows стоит хаб big_smile.gif , но он пишет что скрипт у него не работает, а у меня почему-то он работает без ошибок уже примерно год.

Автор: Saymon 29.3.2010, 22:40

на 0.4.1.2 нет, на 0.4.1.1 всё отлично.

Автор: Артём 29.3.2010, 23:20

Цитата(Saymon @ 29.3.2010, 21:40) *
на 0.4.1.2 нет, на 0.4.1.1 всё отлично.

у меня и на той и на той нормально

Автор: ((((F@UST)))) 30.3.2010, 21:47

Как мне снять или изменить время показа анекдотов в чате???

ПОМОГИТЕ!!!!

Автор: Артём 30.3.2010, 22:08

((((F@UST)))), а ты не пробовал в меню заглядывать?


Автор: DEN 007 2.10.2010, 4:26

Я вот тока не пойму а что нельзя сразу заменить

Код
path = "scripts/"

на
Код
path = Core.GetPtokaXPath().."scripts/"


Чтобы не было пустых вопросов?

Автор: alex82 2.10.2010, 6:09

Цитата(DEN 007 @ 2.10.2010, 4:26) *
Чтобы не было пустых вопросов?
В этом случае пустые вопросы все равно будут, ибо переменная Core определяется при запуске хаба. Соответственно, если скрипт запустить при остановленном хабе, он выкинет ошибку.

Если уж менять, то на это:
Код
path = debug.getinfo(1).source:match("^@?(.+[/\\]).-$"):gsub("\\","/")

Автор: Marc 3.10.2010, 0:21

Цитата(Артём @ 29.3.2010, 23:20) *
у меня и на той и на той нормально


присоединяюсь, у меня также работает скрипт на 0.4.1.2

Автор: DEN 007 3.10.2010, 1:42

Извиняюсь за предыдущий пост, так как в первом посте лежит скрипт с прописанными путями... я прост брал из какого то поста (из последних)

Автор: Saymon 6.10.2010, 2:07

alex82, Если есть в планах запилка новой версии - может сделать чтобы пользователь сам мог через меню выбрать откуда ему смотреть анекдот?

Автор: Andry123456 26.12.2010, 21:23

Нажимаю Анекдот! а оно в чат пишет !anek и всё!
Жду помощи!

Автор: Артём 26.12.2010, 21:36

Andry123456, скрипт подвигай вверх или вниз

Автор: Andry123456 26.12.2010, 22:02

Как его подвигать? Я шото не врубился! nothing_to_say.gif

Автор: Артём 26.12.2010, 22:41

Цитата(Andry123456 @ 26.12.2010, 21:02) *
Как его подвигать? Я шото не врубился! nothing_to_say.gif

руками

Автор: Andry123456 26.12.2010, 22:58

Это в птоке?
У меня птока на хостинге!

Автор: Saymon 26.12.2010, 23:01

px control в помощь тогда, или самый простой HubMenu.

PS. Искать в поиске. beat_brick.gif

Автор: Ksan 26.12.2010, 23:02

1. Andry123456, тебе уже давали в другой теме один хороший совет:

Цитата
!help в чате.

Воспользуйся им ещё раз!
И при каждой новой проблеме лезь туда.
2. А ещё лучше - плюнь в глаза тому, кто тебе дал совет заняться Птокой и хабом. Останься юзером, все твои вопросы лучше всего подходят для юзера, но никак не для админа хаба.

Автор: Andry123456 26.12.2010, 23:05

Да я подвигал! нифига так как было так и есть! extreme_sexy_girl.gif

я только начинаю! beat_plaster.gif

Автор: X-Sky 26.12.2010, 23:38

Andry123456,

Цитата
админами не становятся же...
©

Бросал бы ты это... флудить на форуме, а то будешь присутствовать на нём в роли читателя, а не писателя.

Автор: Andry123456 27.12.2010, 0:24

я в роли читателя и есть! secret_smile.gif

Автор: Dani_Filth 4.10.2011, 9:32

Можно новую базу для Anekbot и побольше анекдотов... а то повторяються ))За ранее спасибо ) secret_smile.gif

Автор: Ksan 4.10.2011, 10:41

Dani_Filth, читай в первом сообщении:

Цитата
Описание: Скрипт скачивает анекдоты из Интернета и отсылает в главный чат.

Вывод - если у тебя повторяются так, что повторения бросаются в глаза, значит, база не обновляется.

Автор: Dani_Filth 26.10.2011, 3:49

ПРосто у меня проблема в том что нету выхода в инет частого или я сижу через прокси. А через прокси не работают скрипты.
Или проще подскажите.. Как можно создать свою базу анекдотов ?

Автор: Saymon21 26.10.2011, 4:02

Через HTTP прокси - легко.

Автор: Dani_Filth 26.10.2011, 4:14

Цитата(Saymon21 @ 26.10.2011, 12:02) *
Через HTTP прокси - легко.

А ты порты знаешь какие надо для сервера и для пользователя ? Если да то скажи.. буду признателен..

Автор: Saymon21 26.10.2011, 10:40

http://mydc.ru/topic43.html?view=findpost&p=34434

Автор: aleksei1122 7.3.2015, 13:05

не мог-бы alex82 обновить скрипт? потому как из всех доступных для парсирования серверов нормально выдают анеки тольо 1 или 2. я попробовал немного поправить сам,вот к примеру http://mydc.ru/r/?http://allprikol.ru/rand/.html выдает рандомно анекдот. я допустим хочу чтобы он выдавал анек из ленты например http://mydc.ru/r/?http://allprikol.ru/vovochka_anek/

но если сделать конструкцию типа http://mydc.ru/r/?http://allprikol.ru/vovochka_anek/rand/.html ,то здесь получается что выдается страница с определенным количеством анеков про вовочку, и парсер в этом случае выдает один и тотже самый первый анек со страницы. beat_brick.gif

ну и http://mydc.ru/r/?http://anikdot.ru какую ссыль для него в парсере делать? unhappy.gif

и anekdot.ru тож немогу ссыль подобрать

Автор: Dani_Filth 1.1.2017, 17:49

Ребят,как это можно исправить ?

Цитата
[00:48:26] <Говорун> Выбран сервер pda.anekdot.ru. Изменил Dani_Filth.
[00:48:28] <Говорун>

Сорокалетняя тетка снимает в баре студента, приводит его к себе домой.
Ну, как полагается, выпили, поцеловались,.. тетка начинает его обучать всяким
секс-премудростям.
- А вот хочешь, я тебе покажу, что такое "69"?
- Хочу.
- Ну давай ложись, я засовываю голову тебе между ног, а ты - мне.
Встают в позу, и тетка нечаянно пердит студенту под нос.
Студент:
- Что это было?
- Р?Р·РІРёРЅРё, РґРѕСЂРѕРіРѕР№, совершенно случайно, форс-мажор, Рё С‚.Рї... Давай попробуем
сначала.
Снова встают в позу, и тетка снова не сдерживается.
Студент молча встает и одевается.
- Дорогой, куда же ты?..
- Если я приму еще 67 таких же, я, блин, сдохну!

Автор: Ksan 1.1.2017, 19:11

Dani_Filth, нужно добавить в скрипт код конвертации полученной страницы с UTF-8 на windows-1251.
Примеры можете посмотреть в других сетевых скриптах (если автор не отзовётся).
То есть, после получения страницы проверка на наличие в тексте слов "charset=UTF-8" (или charset=utf-8) и "charset=windows-1251". Дальше в зависимости от ответа - либо конвертация на windows-1251, либо оставить как есть. И далее уже все остальные действия по обработке (парсингу) страницы.