Автор: 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)
Ну а тесидят нх которые уже а хабе будет доставать...
Будь добр, перечитывай сообщения прежде чем их отправлять, вообще не ясно что ты хочешь сказать. И желательно использовать старорусский стиль написания текста
Автор: PomanoB 13.9.2010, 10:44
Вышло небольшое обновление
Автор: DEN 007 14.9.2010, 6:12
Цитата(PomanoB @ 13.9.2010, 11:44)
Вышло небольшое обновление
Я еще добавил себе статус, так сказать по запросу юзера))
Цитата
Так сделать конечно можно, но тогда те пользователи, которые подключатся к хабу после вывода твита, его уже никогда не увидят
А кто мешает им зайти на сам твитер??)) и почитать там.. если так интересно..
Автор: PomanoB 14.9.2010, 7:21
Точно, надо будет добавить меню
Автор: DEN 007 14.9.2010, 10:00
Если кому нужен как на скрине выше...
Автор: Saymon 6.10.2010, 2:17
\twitter.lua:32: attempt to index local 'sText' (a nil value)
Это вроде если есть пользователь, но статуса нет.
Автор: PomanoB 6.10.2010, 6:39
Будет исправлено в ближайшее время