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

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

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

Я не могу понять куда тыкать адрес сайта..что бы скрипт заработал beat_plaster.gif
Вот адрес.. а куда воткнуть его я незнаю..

http://mydc.ru/r/?http://media.sat-dv.ru/forum/index.php?type=rss;action=.xml

Автор: Ksan 27.10.2011, 5:21

А зачем ты взялся делать этот скрипт, если не понимаешь, как с сайта брать данные?
Я тебе тут в двух словах не смогу объяснить, изучай чужие аналогичные скрипты, которые получают данные с сайтов, обрабатывают и отправляют их в чат/приват/файл..

Автор: 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-страниц, выбирай любой.