myDC.ru

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

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

> RSS Ленты, API2 | Скрипт для просмотра новостных лент

Теги
Нет тегов для показа
Инкогнито
сообщение 18.7.2008, 23:34
Сообщение #21


Участник
**

Группа: Пользователи
Сообщений: 49
Регистрация: 4.7.2008
Пользователь №: 131
Спасибо сказали: 0 раз




да имя бота я сразу убрал, просто когда настраиваешь рсс, в списке появляется юзер с названием это ленты, т.е. откуда он взят. У меня лента с хайтека, появляется юзер в списке "Hi-Tech Zone"
Go to the top of the page
+Quote Post
rus.region78
сообщение 20.7.2008, 16:26
Сообщение #22


Участник
**

Группа: Пользователи
Сообщений: 34
Регистрация: 20.6.2008
Из: S-Petersburg
Пользователь №: 48
Спасибо сказали: 11 раз




Цитата(Инкогнито @ 19.7.2008, 0:34) *
да имя бота я сразу убрал, просто когда настраиваешь рсс, в списке появляется юзер с названием это ленты, т.е. откуда он взят. У меня лента с хайтека, появляется юзер в списке "Hi-Tech Zone"

Код
ParseFeed = function(xml)
    New = {}
    if not FeedNick then
        local _,_,title = xml:find("<title>([^<]-)</title>")
        title = "(bot)Спиридон" or title

я дал имя титулам бота хаба, теперь он не регистрируется в списке юзеров... baffle.gif
Go to the top of the page
+Quote Post
Инкогнито
сообщение 21.7.2008, 1:25
Сообщение #23


Участник
**

Группа: Пользователи
Сообщений: 49
Регистрация: 4.7.2008
Пользователь №: 131
Спасибо сказали: 0 раз




опять же не совсем то о чем говорил, просто на хабе в списке юзеров не отображается ни одного бота, как буд-то их там вообще нет. Ьак что предложеный вами вариант не подходит, покапавшись немного в скрипте еще, все-таки решение было найдено
Код
ParseFeed = function(xml)
    New = {}
    if not FeedNick then
        local _,_,title = xml:find("<title>([^<]-)</title>")
        title = title or "N/A"
        FeedNick = title:gsub("[ %c]",string.char(160))
        Core.RegBot(FeedNick,"RSS Feed Bot",Feed,true)

в это части кода убрал последнюю строку и все, больше он не отображается в списке юзеров. Пока работает, ошибок не обнаружено.
Go to the top of the page
+Quote Post
Gangster
сообщение 17.8.2008, 15:37
Сообщение #24


Начинающий
*

Группа: Пользователи
Сообщений: 19
Регистрация: 3.7.2008
Пользователь №: 121
Спасибо сказали: 8 раз




ну так кто выложит рабочий скрипт ррс чтобы менюшка пахала и можно было добовлять сови ррсbig_smile.gif
Go to the top of the page
+Quote Post
Fodin
сообщение 22.8.2008, 2:12
Сообщение #25


Участник
**

Группа: Пользователи
Сообщений: 30
Регистрация: 25.7.2008
Пользователь №: 264
Спасибо сказали: 12 раз




Все это здорово и замечательно. Пока кодировочка у RSS - 1251. А если будет UTF-8, то тут-то и будет "приплыли". А таких лент - до черта. В Луа нет функции перекодировки. Лично мне пришлось dll писать под это дело.
Go to the top of the page
+Quote Post
Инкогнито
сообщение 26.8.2008, 1:53
Сообщение #26


Участник
**

Группа: Пользователи
Сообщений: 49
Регистрация: 4.7.2008
Пользователь №: 131
Спасибо сказали: 0 раз




Цитата(Fodin @ 22.8.2008, 5:12) *
Все это здорово и замечательно. Пока кодировочка у RSS - 1251. А если будет UTF-8, то тут-то и будет "приплыли". А таких лент - до черта. В Луа нет функции перекодировки. Лично мне пришлось dll писать под это дело.

угу, верно сказал про кодировочку, поделись dll-кой пожалуйста если не трудно
Go to the top of the page
+Quote Post
Nickolya
сообщение 26.8.2008, 18:31
Сообщение #27


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

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




Вот функция перевода из утф в коир, пришлось как-то сворганить, причем из функции которая переделывала коир в утф big_smile.gif, из-за неумения создания библиотек, изобретаем велосипеды... Вот код:

Код
s208 = string.char(208)
s209 = string.char(209)

function utf8towinru(text)
    text = text:gsub(s208.."(.)", function(sch)
        if (string.byte(sch)>=144 and string.byte(sch)<=191) then
            return string.char(string.byte(sch)+48)
        end
        if (string.byte(sch)==129) then
            return "Ё"
        end
        return s208..sch
       end)
    text = text:gsub(s209.."(.)", function(sch)
        if (string.byte(sch)>=128 and string.byte(sch)<=143) then
            return string.char(string.byte(sch)+112)
        end
        if (string.byte(sch)==145) then
            return "ё"
        end
        return s209..sch
    end)
    return text
end


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 26.8.2008, 18:47
Сообщение #28


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




2Fodin: поделитесь опытом создания dll, а именно конфигурацией def файлов, и компиляцией dll для sqlite под апи2 (исходники предоставлю).
Go to the top of the page
+Quote Post
viktor6
сообщение 3.1.2009, 15:38
Сообщение #29


Начинающий
*

Группа: Пользователи
Сообщений: 12
Регистрация: 1.1.2009
Пользователь №: 1 630
Спасибо сказали: 1 раз




Так что нет рабочего скрипта??
Go to the top of the page
+Quote Post
MEXAHuK
сообщение 6.1.2009, 5:56
Сообщение #30


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

Группа: Пользователи
Сообщений: 314
Регистрация: 13.10.2008
Пользователь №: 791
Спасибо сказали: 9 раз




оч. прошу спецов доделать этот скрипт.
народу: или вы выложте поласта норм раб. скрипт
Go to the top of the page
+Quote Post
MEXAHuK
сообщение 27.1.2009, 13:33
Сообщение #31


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

Группа: Пользователи
Сообщений: 314
Регистрация: 13.10.2008
Пользователь №: 791
Спасибо сказали: 9 раз




Цитата(Nickolya @ 26.8.2008, 20:31) *
Вот функция перевода из утф в коир, пришлось как-то сворганить, причем из функции которая переделывала коир в утф big_smile.gif , из-за неумения создания библиотек, изобретаем велосипеды... Вот код:

Код
s208 = string.char(208)
s209 = string.char(209)

function utf8towinru(text)
     text = text:gsub(s208.."(.)", function(sch)
         if (string.byte(sch)>=144 and string.byte(sch)<=191) then
             return string.char(string.byte(sch)+48)
         end
         if (string.byte(sch)==129) then
             return "Ё"
         end
         return s208..sch
        end)
     text = text:gsub(s209.."(.)", function(sch)
         if (string.byte(sch)>=128 and string.byte(sch)<=143) then
             return string.char(string.byte(sch)+112)
         end
         if (string.byte(sch)==145) then
             return "ё"
         end
         return s209..sch
     end)
     return text
end


как применить это к конкретному скрипту из первого поста? выложи файл который может читать утф8 кодированные хмльки поласта
Go to the top of the page
+Quote Post
serrrios
сообщение 8.2.2009, 13:54
Сообщение #32


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

Группа: Пользователи
Сообщений: 67
Регистрация: 12.10.2008
Из: Красноярск
Пользователь №: 784
Спасибо сказали: 9 раз




Для подключения УТФ8 в скрипте на первом посте:

1) Найти:
Код
local msg = ParseFeed(Decode(fd))

Заменить на:
Код
local msg = ParseFeed(utf8towinru(fd))


2) В конце файла добавить:
Код
s208 = string.char(208)
s209 = string.char(209)

utf8towinru = function(text)
     text = text:gsub(s208.."(.)", function(sch)
         if (string.byte(sch)>=144 and string.byte(sch)<=191) then
             return string.char(string.byte(sch)+48)
         end
         if (string.byte(sch)==129) then
             return "Ё"
         end
         return s208..sch
        end)
     text = text:gsub(s209.."(.)", function(sch)
         if (string.byte(sch)>=128 and string.byte(sch)<=143) then
             return string.char(string.byte(sch)+112)
         end
         if (string.byte(sch)==145) then
             return "ё"
         end
         return s209..sch
     end)
     return text
end


3) Сказать спасибо big_smile.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
li4nost
сообщение 8.3.2009, 4:19
Сообщение #33


Продвинутый участник
****

Группа: Пользователи
Сообщений: 137
Регистрация: 22.2.2009
Из: Минск, Беларусь
Пользователь №: 2 321
Спасибо сказали: 12 раз




скажите, какую рабочую версии (или наиболее стабильную) поставить на апи2?
Go to the top of the page
+Quote Post
Cramac
сообщение 10.7.2009, 16:44
Сообщение #34


Начинающий
*

Группа: Пользователи
Сообщений: 14
Регистрация: 25.3.2009
Пользователь №: 2 757
Спасибо сказали: 0 раз




Выложите рабочую версию, а то некоторые ссылки уже не работают :(
Go to the top of the page
+Quote Post
Accelerator
сообщение 10.7.2009, 17:58
Сообщение #35


Developer
******

Группа: Модераторы
Сообщений: 541
Регистрация: 11.11.2008
Пользователь №: 1 075
Спасибо сказали: 244 раза




Полностью рабочий скрипт. Не отправляет сообщения в ПМ юзерам(убрал это, т.к. считаю что это не нужно). Добавил команду, меню, отправка результата только при вводе команды в чат

UPD: аттач загрузить не удалось :( , поэтому скачиваем отсюда: http://core454.hut1.ru/RSS_Feed.lua
Go to the top of the page
+Quote Post
Cramac
сообщение 11.7.2009, 9:43
Сообщение #36


Начинающий
*

Группа: Пользователи
Сообщений: 14
Регистрация: 25.3.2009
Пользователь №: 2 757
Спасибо сказали: 0 раз




запустил этот скрипт, при вводе !rss или выбор через меню пишет :
Неизвестная команда.
что не так?
Go to the top of the page
+Quote Post
district
сообщение 11.7.2009, 10:34
Сообщение #37


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Может быть, это репорт другого скрипта, который перехватывает команду и сверяет ее со списком известных ему команд? Нужно попробовать поместить Rss-ленты в верх списка скриптов.
Go to the top of the page
+Quote Post
Cramac
сообщение 11.7.2009, 11:05
Сообщение #38


Начинающий
*

Группа: Пользователи
Сообщений: 14
Регистрация: 25.3.2009
Пользователь №: 2 757
Спасибо сказали: 0 раз




Спасибо, как то сразу не подумал про это...

А как узнать список команд доступных?
Как добавить источник?
Go to the top of the page
+Quote Post
Wariner
сообщение 11.7.2009, 11:28
Сообщение #39


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




всё зависит от того каким скриптом это делается!!!!
Go to the top of the page
+Quote Post
district
сообщение 11.7.2009, 12:35
Сообщение #40


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Буквально на днях щупал один многофункциональный бот известный... там была такая сверка. Убей не вспомню название, память что решето ... :inv:
Думаю надо смотреть начиная с мультиботов, установленных на хабе, потом по степени убывания размеров самого бота.
Go to the top of the page
+Quote Post

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

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: RSS Ленты
От темы с ID: 111
0 DemoN 4 018 21.7.2009, 8:35 Посл. сообщение: DemoN
No New Posts Topic has attachmentsRSS ленты
8 Accelerator 9 744 21.6.2009, 18:40 Посл. сообщение: Accelerator
No New Posts Rss Ленты Телепрограмм
я замучился искать.
3 MEXAHuK 8 045 17.3.2009, 10:24 Посл. сообщение: СПАНЧ
No New Posts Кто Какие Rss Ленты Качает На Свой Хаб?
4 MEXAHuK 8 523 27.2.2009, 17:19 Посл. сообщение: MEXAHuK
No New Posts Topic has attachmentsRss Ленты
Выдает ошибки
0 Otshelnik-Fm 4 104 6.2.2009, 1:55 Посл. сообщение: Otshelnik-Fm
No New Posts От: RSS Ленты
От темы с ID: 111
0 MEXAHuK 4 574 5.1.2009, 20:12 Посл. сообщение: MEXAHuK
No new Topic has attachmentsЛенты Rss
API | Не парсит UTF-8
17 district 15 582 21.11.2008, 0:17 Посл. сообщение: district

 



RSS Сейчас: 1.10.2022, 0:54