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

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

MyDC.ru _ Сетевые скрипты [PtokaX] _ Twitter

Автор: PomanoB 10.8.2010, 14:32

Название: twitter
Версия API: 2
Версия скрипта: 0.1.1
Автор: PomanoB
Описание:
Скрипт позволяет просматривать статус пользователя Twitter'а.
С интервалом iOutTime выводится статус пользователя sOutName.

История версий

v0.1 - первый релиз
v0.1.1 - оптимизация кода, вывод статусов по таймеру
v0.1.2 - настройка имени бота, статусы не выводятся пока не обновятся


 twitter.lua ( 2.95 килобайт ) : 74


Автор: DEN 007 9.9.2010, 9:09

Реально классная вещичка...

Было еще хорошо если сообщение которое выводится автоматически (твит), не просто парсилсябы бы хмл и выводился в чат...
А еще и запоминал последний твит, и когда проверял в следующий раз проверял состояния не выводил в чат повторов... то есть выводил в чат только новые сообщения
И нашел еще маленькую ошибочку... может и не ошибку... (в луа пока что нуб)

В начале скрипта есть стрчка

Цитата
local sBot

Я так понял если мы делаем вот так
Цитата
local sBot = "Twitter"

то все строчки с
Цитата
<"..sBot..">

Должны быть тем ботом которым мы указали, но этого не происходит...
Я не заморачиваясь поменял все ники ручками но все таки было бы хорошо сделать...
Еще раз спасибо, очень нужный скрипт

Но затем порылся в коде и нашел его)))
Код
function OnStartup()
    http = require"socket.http"
    [b]sBot = SetMan.GetString(21)[/b]
    
    if iOutTime ~= 0 then
        TmrMan.AddTimer(iOutTime*60000, "OutTwitter")
    end
end

PomanoB, Вынеси его в настройки
еще я так поразмыслил и подумал а почему бы не сделать бота динамическим то есть...
Цитата
<"..sBot.."-"..sOutName..">
А в чате будет выглядеть примерно так:
<Twitter-KremlinRussia> тра ля ля статус кароче

как то так...

Автор: Nickolya 9.9.2010, 9:14

Строка

Код
local sBot
только объявляет переменную локальной, бот задается тут:
Код
sBot = SetMan.GetString(21)
т.е. надо заменять эту строку на
Код
sBot = "Twitter"


Чтобы бот не дублировал сообщения в чате заменяем
Код
    if sStatus ~= nil then
        Core.SendToAll("<"..sBot.."> *** Twitter "..sOutName.." ***\r\n"..sStatus)
    end
на
Код
    if sStatus ~= nil then
        if not sMemStatus or sMemStatus ~= sStatus then
            Core.SendToAll("<"..sBot.."> *** Twitter "..sOutName.." ***\r\n"..sStatus)
            sMemStatus = sStatus
        end
    end

Автор: PomanoB 9.9.2010, 18:28

>А еще и запоминал последний твит, и когда проверял в следующий раз проверял состояния не выводил в чат повторов...
Так сделать конечно можно, но тогда те пользователи, которые подключатся к хабу после вывода твита, его уже никогда не увидят

>а почему бы не сделать бота динамическим
Не, по моему так плохо смотрится

Настройку имен бота сделаю

Автор: DEN 007 9.9.2010, 22:30

Цитата
Так сделать конечно можно, но тогда те пользователи, которые подключатся к хабу после вывода твита, его уже никогда не увидят


Ну а юзерам которые на хабе будет доставать...

Nickolya,
Спасиб тебе огромное...


P.S. Я все больше и больше начинаю понимать луа..))

Автор: Nickolya 9.9.2010, 22:52

Пожалуйста!

Цитата(DEN 007 @ 9.9.2010, 23:30) *
Ну а тесидят нх которые уже а хабе будет доставать...

Будь добр, перечитывай сообщения прежде чем их отправлять, вообще не ясно что ты хочешь сказать. И желательно использовать старорусский стиль написания текста big_smile.gif

Автор: PomanoB 13.9.2010, 10:44

Вышло небольшое обновление big_smile.gif

Автор: DEN 007 14.9.2010, 6:12

Цитата(PomanoB @ 13.9.2010, 11:44) *
Вышло небольшое обновление big_smile.gif


Я еще добавил себе статус, так сказать по запросу юзера))


Цитата
Так сделать конечно можно, но тогда те пользователи, которые подключатся к хабу после вывода твита, его уже никогда не увидят

А кто мешает им зайти на сам твитер??)) и почитать там.. если так интересно..

Автор: PomanoB 14.9.2010, 7:21

Точно, надо будет добавить меню

Автор: DEN 007 14.9.2010, 10:00

Если кому нужен как на скрине выше...

 twitter.lua ( 3.05 килобайт ) : 21
 

Автор: Saymon 6.10.2010, 2:17

\twitter.lua:32: attempt to index local 'sText' (a nil value)

Это вроде если есть пользователь, но статуса нет.

Автор: PomanoB 6.10.2010, 6:39

Будет исправлено в ближайшее время