myDC.ru

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

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

> RSS лента

Теги
Нет тегов для показа
TIRAN
сообщение 2.4.2010, 5:55
Сообщение #21


Начинающий
*

Группа: Пользователи
Сообщений: 26
Регистрация: 29.3.2010
Пользователь №: 6 499
Спасибо сказали: 2 раза




Незнаю в чём проблема....


В общем решил переделать RSS под себя.

Было так:

Раскрывающийся текст
-- "Botname" ["" = hub bot]
local Bot = "ServiceBot"
-- Save recent feeds to this file for script/hub restarts
local File = "FeedWatch.dat"
-- Set your feed's URL
local Feed = "http://bash.org.ru/rss/"
-- Set the update interval [in minutes]
local Refresh = 60
-- Enable capture of these RSS fields
local Fields = {
["<title>"] = true,
["<description>"] = true,
["<link>"] = true,
["<author>"] = false,
["<category>"] = false,
["<comments>"] = false,
["<pubDate>"] = true,
["<guid>"] = false,
}

--Replace these strings in feed XML [--Comment unwanted replacements]
local Rep = {
["%<%!%[CDATA%["] = "",
["%]%]%>"] = "",
["%[code *%]"] = "",
["<img [^>]*>"] = "",
["<p>"] = "",
["<a href[^\w]+"] = "",
["<br />"] = " ",
["\t"] = " ",
["\r\n"] = "",
["["] = string.char(91),
["]"] = string.char(93),
[" [ ]+"] = " ",
["<div class=\"codeheader\">"] = "",
}
-- Truncate RSS fields to this width.
local MaxWidth = 8500
-- Remove all HTML <tags> in feed fields? true/false
local TagFilter = true
-- Always send new feed to pm? true/false
local OnlyPm = true
-- Append new feeds to MOTD? [Motd restored at script exit]
local DoMotd = false
-- "Preset FeedNick" [Nick new feeds are sent from] / false = Use feed title for FeedNick
local FeedNick = false

tProfile = {
[-1] = 0,
[0] = 1,
[1] = 1,
[2] = 1,
[3] = 1,
[4] = 1,
}
--//--


local socket = require"socket"
assert(socket,"Failed to load socket extension. Check files.")
local http = require("socket.http")
assert(http,"Failed to load http module. Check files.")
local Asc = {},0,""

OnStartup = function()
if Bot == "" then Bot = SetMan.GetString(21) end
if loadfile(File) then dofile(File) else Old = {} SaveFile(File,Old,"Old") end
end

function UserConnected(tUser)
if tProfile[tUser.iProfile] == 1 then
Core.SendToUser(tUser,"$UserCommand 1 3 Онлайн сервисы\\RSS Новости\\Bash.Org.ru$<%[mynick]> !rssfactorial|")
end
end
OpConnected = UserConnected
RegConnected = UserConnected


Стало так:

Раскрывающийся текст
-- "Botname" ["" = hub bot]
local Bot = "ServiceBot"
-- Save recent feeds to this file for script/hub restarts
local File = "FeedWatch2.dat"
-- Set your feed's URL
local Feed = "http://lenta.ru/rss/"
-- Set the update interval [in minutes]
local Refresh = 60
-- Enable capture of these RSS fields
local Fields = {
["<title>"] = true,
["<description>"] = true,
["<link>"] = true,
["<author>"] = false,
["<category>"] = false,
["<comments>"] = false,
["<pubDate>"] = true,
["<guid>"] = false,
}

--Replace these strings in feed XML [--Comment unwanted replacements]
local Rep = {
["%<%!%[CDATA%["] = "",
["%]%]%>"] = "",
["%[code *%]"] = "",
["<img [^>]*>"] = "",
["<p>"] = "",
["<a href[^\w]+"] = "",
["<br />"] = " ",
["\t"] = " ",
["\r\n"] = "",
["["] = string.char(91),
["]"] = string.char(93),
[" [ ]+"] = " ",
["<div class=\"codeheader\">"] = "",
}
-- Truncate RSS fields to this width.
local MaxWidth = 8500
-- Remove all HTML <tags> in feed fields? true/false
local TagFilter = true
-- Always send new feed to pm? true/false
local OnlyPm = true
-- Append new feeds to MOTD? [Motd restored at script exit]
local DoMotd = false
-- "Preset FeedNick" [Nick new feeds are sent from] / false = Use feed title for FeedNick
local FeedNick = false

tProfile = {
[-1] = 0,
[0] = 1,
[1] = 1,
[2] = 1,
[3] = 1,
[4] = 1,
}
--//--


local socket = require"socket"
assert(socket,"Failed to load socket extension. Check files.")
local http = require("socket.http")
assert(http,"Failed to load http module. Check files.")
local Asc = {},0,""

OnStartup = function()
if Bot == "" then Bot = SetMan.GetString(21) end
if loadfile(File) then dofile(File) else Old = {} SaveFile(File,Old,"Old") end
end

function UserConnected(tUser)
if tProfile[tUser.iProfile] == 1 then
Core.SendToUser(tUser,"$UserCommand 1 3 Онлайн сервисы\\RSS Новости\\Lenta.ru$<%[mynick]> !rssfactorial|")
end
end
OpConnected = UserConnected
RegConnected = UserConnected


Я догадываюсь что дело в этой строке
Core.SendToUser(tUser,"$UserCommand 1 3 Онлайн сервисы\\RSS Новости\\Lenta.ru$<%[mynick]> !rssfactorial|")

Но я незнаю где взять другую и что менять...
=============================
Всё, разобрался exciting.gif

Не думал что всё так просто... оказывается вызов к !rssfactorial идёт 2 раза... 2ой не заметил сначала. Поэтому и кидал с БАШа. добавил 2 в конце в обоих местах - заработало =)


Спасибо сказали:
Go to the top of the page
+Quote Post
Aлзим
сообщение 14.12.2010, 2:23
Сообщение #22


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

Группа: Пользователи
Сообщений: 74
Регистрация: 23.9.2009
Пользователь №: 4 536
Спасибо сказали: 6 раз




Как сделать, чтобы ссылка отображалась правильно?

Сейчас это так:
Цитата
============================================================
Заголовок: Какова сила удара, когда один футболист толкает другого?
Ссылка: http://umnik.org.ru/4392/%D0%BA%D0%B0%D0%B...%BE%D0%B3%D0%BE
Категория: Спорт
============================================================


А хотелось бы так:
Цитата
============================================================
Заголовок: Какова сила удара, когда один футболист толкает другого?
Ссылка: http://umnik.org.ru/4392/какова-сила-удара...толкает-другого
Категория: Спорт
============================================================
Go to the top of the page
+Quote Post
Enyby
сообщение 14.12.2010, 18:00
Сообщение #23


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

Группа: Пользователи
Сообщений: 391
Регистрация: 4.11.2009
Из: Дом
Пользователь №: 4 923
Спасибо сказали: 239 раз




http://ru.wikipedia.org/wiki/Url Раздел "Кодирование URL". Потом либо паттернами либо куча gsub.
Go to the top of the page
+Quote Post
Nickolya
сообщение 14.12.2010, 21:12
Сообщение #24


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Цитата
url.unescape(content)

Removes the URL escaping content coding from a string.

Content is the string to be decoded.

The function returns the decoded string.
подробнее читайте в документации по luasocket...
Go to the top of the page
+Quote Post
Aлзим
сообщение 14.12.2010, 21:31
Сообщение #25


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

Группа: Пользователи
Сообщений: 74
Регистрация: 23.9.2009
Пользователь №: 4 536
Спасибо сказали: 6 раз




Цитата(Nickolya @ 14.12.2010, 21:12) *
подробнее читайте в документации по luasocket...

А по проще можно?!
Мне бы какой-нибудь код или функцию вставить в скрипт, чтобы переводил на кириллицу...
Go to the top of the page
+Quote Post
Nickolya
сообщение 4.1.2011, 17:39
Сообщение #26


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Итак, если еще актуально, вот решение "чтобы ссылка отображалась правильно":

После
Код
local http = require("socket.http")
assert(http,"Failed to load http module. Check files.")
добавляем
Код
local url = require("socket.url")    -- loads the URL module
assert(url,"Failed to load url module. Check files.")

Затем после
Код
field = field:lower():gsub("[<>]","")
добавляем
Код
                if field == "link" then
                    val = utf8towinru(url.unescape(val))
                end

Либо, если у вас стандартная версия (без русификации), и строка, после которой надо добавлять код, выглядит как
Код
field = field:lower():gsub("[<>]","")..":"
то надо сделать не
Код
if field == "link" then
а
Код
if field == "link:" then


Результат будет примерно таким:

Код
     Заголовок:              Ответ на вопрос: Верите ли Вы, что знак зодиака по гороскопу предопределяет характер и судьбу человека ?
     Ссылка:                 http://svio.net/120/верите-зодиака-гороскопу-предопределяет-характер-человека#a4894

     Заголовок:              Неужели дети могут быть помехой?
     Ссылка:                 http://svio.net/4885/неужели-дети-могут-быть-помехой

     Заголовок:              Редактирование комментария: Вы согласны с Жириновским, что уголовные дела по поводу беспорядков на Манежной надо прекратить?
     Ссылка:                 http://svio.net/4816/согласны-жириновским-уголовные-беспорядков-манежной-прекратить#c4874


Спасибо сказали:
Go to the top of the page
+Quote Post
Aлзим
сообщение 4.1.2011, 18:43
Сообщение #27


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

Группа: Пользователи
Сообщений: 74
Регистрация: 23.9.2009
Пользователь №: 4 536
Спасибо сказали: 6 раз




Цитата(Nickolya @ 4.1.2011, 17:39) *
Итак, если еще актуально, вот решение "чтобы ссылка отображалась правильно":

Актуально. Сделал как Вы написали и всё заработало. Большое спасибо big_smile.gif. Вид ссылок стал намного приятнее. Я знал, что у Вас руки золотые. big_smile.gif
С наступившим новым годом и с наступающим Рождеством!:)


Спасибо сказали:
Go to the top of the page
+Quote Post

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

 



RSS Сейчас: 23.11.2024, 12:21