MyDC.ru _ Помощь по скриптам для PtokaX _ Помоги со скриптом
Автор: Dani_Filth 26.10.2011, 18:05
Добрый вечер (дня,ночи) уважаемые пользователи форума прошу вашей помощи... Скрипт не отправляет новинки с сайта..
CODE
local Mins = 1 -- в минутах local Tmr = 0
local Path = "" local smf_news = "RecentTopicsWIN.txt" local smf_old = "smf_old.txt" local Bot = ""
function OnStartup() Path = Core.GetPtokaXPath() Bot = SetMan.GetString(21) Tmr = TmrMan.AddTimer(Mins*60000) OnTimer(Tmr) end
function OnTimer(Id) if Id == Tmr then --os.rename(smf_news, news_path) local news_file = io.open(Path..smf_news) if news_file then local old = "" local new_old = "" local old_file = io.open(Path..smf_old) if old_file then old = old_file:read() old_file:close() end local mes = "Новинки на медиакаталоге!\n" local count = 0 for line in news_file:lines() do if line == old then break end if count == 0 then new_old = line end count = 1 mes = mes..line.."\n" end if count == 1 then Core.SendToAll(mes) old_file = io.open(Path..smf_old, "w") old_file:write(new_old) old_file:close() end news_file:close() os.remove(Path..smf_news) end end end
function OnError(sErrorMsg) Core.SendToOpChat(sErrorMsg) end
Подскажите или помоги собрать его в нормальную форму что бы работал на ура..
Автор: Ksan 26.10.2011, 19:44
1. Ну дык напиши сначала ошибку, какую шлёт скрипт (если выдаёт)... 2. Мне не нравится твой подход к путям. В АПИ2 пути к папкам и файлам должны быть прописаны конкретные относительно расположения самой Птоки. Например, если файл лежит в папке "scripts", то путь к нему должен писаться такой:
Код
sFile = Core.GetPtokaXPath().."scripts/file.txt"
где Core.GetPtokaXPath() - это корневая папка Птоки (где лежит исполнительный файл) Вот попробуй сначала пути исправить и проверить скрипт.
UPD: Сорри, пропустил, у тебя же путь выбран в стартапе..
3. И ещё - из твоего представленного кода не видно, откуда у тебя появляются новинки в виде файла. Должен быть механизм помещения туда информации, добытой с сайта, причем, по ходу работы скрипта... Или ты сначала руками копируешь информацию в файл, потом запускаешь скрипт?
Автор: Dani_Filth 27.10.2011, 3:35
Скрипт сам автоматически сливает новинки на хаб через определёное время , или обновления темы на новинках..
Вот к примеру на хабе вываливаеться..
Новинки на медиакаталоге! Ястреб http://mydc.ru/r/?http://media.sat-dv.ru/forum/index.php?topic=4744.msg13450;topicseen#new Battlefield 3 http://mydc.ru/r/?http://media.sat-dv.ru/forum/index.php?topic=4725.msg13449;topicseen#new
Автор: Ksan 27.10.2011, 4:02
Dani_Filth, объясни мне, неразумному, вот эту фразу:
Цитата
Скрипт сам автоматически сливает новинки на хаб через определёное время , или обновления темы на новинках..
Из кода твоего скрипта видно, что нет никакого обращения ни к каким сайтам и вообще никуда, кроме чтения пары файлов из папки Птоки.. О чём же ты говоришь?
Автор: Dani_Filth 27.10.2011, 5:02
Я не могу понять куда тыкать адрес сайта..что бы скрипт заработал Вот адрес.. а куда воткнуть его я незнаю..
А зачем ты взялся делать этот скрипт, если не понимаешь, как с сайта брать данные? Я тебе тут в двух словах не смогу объяснить, изучай чужие аналогичные скрипты, которые получают данные с сайтов, обрабатывают и отправляют их в чат/приват/файл..
Автор: Dani_Filth 27.10.2011, 5:27
А ты можешь сделать его ? А то я уже заманался с ним.. а так в ручную копировать и заливать на свой хаб тоже не прикольно..
Автор: Ksan 27.10.2011, 5:38
1. Нет. Скрипт для твоего личного пользования - тебе и делать. 2. Ссылка на локальный ресурс (по крайней мере, даже на главную страницу не попасть от меня) и без доступа к нему парсинг не сделаешь.. 3. У тебя есть отличный повод самому научиться. Я тоже совсем недавно ничего не умел, особенно в парсинге страниц, а в последнее время кое-что начало получаться.
Так что, удачи тебе!
Автор: Dani_Filth 27.10.2011, 6:04
Ты просто подскажи куда вставить адресную страку а дальше я сам..)
Автор: Ksan 27.10.2011, 6:27
Читай выше. Я уже дал достаточно советов. Не хочу повторяться. Ещё раз всё прочти.
Автор: Tsd 27.10.2011, 9:47
Адрес локальный - помочь трудно с парсингом.
Автор: Dani_Filth 27.10.2011, 14:50
Мне бы просто знать куда прописать адресную строку.. и всё.
Автор: Alexey 27.10.2011, 14:58
Никуда. Приведённый скрипт не умеет ходить в сеть, загружать и обрабатывать страницы.
Автор: dimajak 4.11.2011, 4:01
Цитата(Dani_Filth @ 26.10.2011, 19:05)
Добрый вечер (дня,ночи) уважаемые пользователи форума прошу вашей помощи... Скрипт не отправляет новинки с сайта.. ... Подскажите или помоги собрать его в нормальную форму что бы работал на ура..
Определись сперва - где лежит твой файл с новостями. На стороннем сервере или на машине с твоим хабом? Если на машине с хабом, то напиши простейший скрипт чтения первой строки из этого файла. Не получилось? Тогда создай текстовый файл в каталоге с твоим скриптом и напиши в нем "zzzzz" или любую другу белиберду. Измени скрипт (измени путь к этому текстовому файлу). Получилось? Нет? - ошибка в именах переменных? Пытайся еще! Ищи свои ошибки! Затем - последующая выдача этой строки в чат или определенному нику (чтобы ненапрягать всех юзеров). Получилось? Нет - пробуй еще. Да - теперь ты сможешь написать то что ты хочешь.
Удачи!
Автор: Dani_Filth 14.11.2011, 15:15
Цитата(dimajak @ 4.11.2011, 12:01)
На стороннем сервере или на машине с твоим хабом?
Вот именно.. базы новостей обновляються с стороннего сервера.. И я незнаю как мне быть..
Автор: Alexey 14.11.2011, 22:14
Цитата(Ksan @ 27.10.2011, 6:21)
изучай чужие аналогичные скрипты, которые получают данные с сайтов, обрабатывают и отправляют их в чат/приват/файл..
Автор: Dani_Filth 16.11.2011, 14:10
Были бы аналагичные скрипты.. было бы проще.. А так их нету.. нечего не могу сделать.. У кого есть аналог скрипта слейте пожалуйста..
Автор: Damaks 16.11.2011, 16:59
Цитата(Dani_Filth @ 16.11.2011, 15:10)
Были бы аналагичные скрипты.. было бы проще.. А так их нету.. нечего не могу сделать.. У кого есть аналог скрипта слейте пожалуйста..
В разделе http://mydc.ru/forum52.html много скриптов с парсингом web-страниц, выбирай любой.