RSS лента |
Здравствуйте, гость ( Вход | Регистрация )
RSS лента |
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|") Но я незнаю где взять другую и что менять... ============================= Всё, разобрался Не думал что всё так просто... оказывается вызов к !rssfactorial идёт 2 раза... 2ой не заметил сначала. Поэтому и кидал с БАШа. добавил 2 в конце в обоих местах - заработало =) |
|
|
14.12.2010, 2:23
Сообщение
#22
|
|
Активный участник Группа: Пользователи Сообщений: 74 Регистрация: 23.9.2009 Пользователь №: 4 536 Спасибо сказали: 6 раз |
Как сделать, чтобы ссылка отображалась правильно?
Сейчас это так: Цитата ============================================================ Заголовок: Какова сила удара, когда один футболист толкает другого? Ссылка: Категория: Спорт ============================================================ А хотелось бы так: Цитата ============================================================
Заголовок: Какова сила удара, когда один футболист толкает другого? Ссылка: Категория: Спорт ============================================================ |
|
|
14.12.2010, 18:00
Сообщение
#23
|
|
Освоившийся участник Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз |
|
|
|
14.12.2010, 21:12
Сообщение
#24
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Цитата url.unescape(content) подробнее читайте в документации по luasocket...
Removes the URL escaping content coding from a string. Content is the string to be decoded. The function returns the decoded string. |
|
|
14.12.2010, 21:31
Сообщение
#25
|
|
Активный участник Группа: Пользователи Сообщений: 74 Регистрация: 23.9.2009 Пользователь №: 4 536 Спасибо сказали: 6 раз |
|
|
|
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 |
|
|
4.1.2011, 18:43
Сообщение
#27
|
|
Активный участник Группа: Пользователи Сообщений: 74 Регистрация: 23.9.2009 Пользователь №: 4 536 Спасибо сказали: 6 раз |
Итак, если еще актуально, вот решение "чтобы ссылка отображалась правильно": Актуально. Сделал как Вы написали и всё заработало. Большое спасибо . Вид ссылок стал намного приятнее. Я знал, что у Вас руки золотые. С наступившим новым годом и с наступающим Рождеством!:) |
|
|
|
Сейчас: 23.11.2024, 13:55 |