myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> История чата и только, безо всяких излишеств

Теги
Нет тегов для показа
AlphaOmega
сообщение 18.5.2009, 22:08
Сообщение #1


Абсолютный новичок


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




Порыскал по форуму. Нашёл несколько скриптов, ведущих историю чата, да вот только они все немного мудрёные - то только последние N сообщений, то там есть антиреклама, то просто записывает N сообщений в чат... а нужен простой:
нужен скрипт, записывающий историю чата в реальном времени (или через N минут) в один файл с именем типа chat.18.05.09.log (chat.ЧИСЛО.МЕСЯЦ.ГОД.log) и всё.
Безо всяких излишеств.
API2 под птаху 0.4.1.1

если опубликуете его здесь или дадите ссылку - буду благодарен

зарнее спасибо.
Go to the top of the page
+Quote Post
Wariner
сообщение 18.5.2009, 22:19
Сообщение #2


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

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




смотреть лог из dc клиента тоже относится к излишествам?
Go to the top of the page
+Quote Post
AlphaOmega
сообщение 18.5.2009, 22:31
Сообщение #3


Абсолютный новичок


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




нет, но просто в теме столько указаний об ошибках, что и не знаешь - где же именно полностью рабочий скрипт.
Go to the top of the page
+Quote Post
Setuper
сообщение 18.5.2009, 22:38
Сообщение #4


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

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




Если логи большие, то лучше их просматривать не в клиенте (если есть такая возможность).

По поводу запроса вот код записи в файл:
Код
function Save(sFile, sText)
  h = io.open(sFile, "a+")
  if h then
    h:write(sText.."\n")
    h:flush()
    h:close()
  end
end


Код
local sPath = "путь_к_папке_с_логами"

function ChatArrival(tUser, sData)
  Save(sPath..os.date"chat.%d.%m.%y.log", sData:sub(1,-2))
end
Go to the top of the page
+Quote Post
AlphaOmega
сообщение 18.5.2009, 23:08
Сообщение #5


Абсолютный новичок


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




вопрос: ChatArrival - это когда сообщение появляется в чате или кто-то входит в чат?
Go to the top of the page
+Quote Post
Wariner
сообщение 18.5.2009, 23:09
Сообщение #6


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

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




да срабтывает на отсылку сообщения
Go to the top of the page
+Quote Post
Setuper
сообщение 18.5.2009, 23:09
Сообщение #7


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

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




Это когда сообщение от пользователя пришло на хаб, и хаб с свою очередь может либо заблокировать сообщение, либо пропустить в чат разостлав всем пользователям хаба.
Go to the top of the page
+Quote Post
AlphaOmega
сообщение 18.5.2009, 23:11
Сообщение #8


Абсолютный новичок


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




и всё же, если не сложно, можете дать целиком скрипт чтобы он был полностью рабочий (всё объявлено и готово к финальным правкам путей и имён) включающий в себя то, что выше Setuper написал. плииииз
или достаточно просто сохранить то, что приведено выше и всё?
Go to the top of the page
+Quote Post
Setuper
сообщение 18.5.2009, 23:21
Сообщение #9


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

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




Естественно надо сохранить и прописать путь.
Go to the top of the page
+Quote Post
AlphaOmega
сообщение 19.5.2009, 10:31
Сообщение #10


Абсолютный новичок


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




Setuper, спасибо, всё заработало.
Go to the top of the page
+Quote Post
vicious
сообщение 20.5.2009, 20:34
Сообщение #11


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

Группа: Пользователи
Сообщений: 173
Регистрация: 26.1.2009
Из: Saratov
Пользователь №: 1 965
Спасибо сказали: 7 раз




А может лучше все таки handle глобальным делать...а закрывать при Exit или OnError...меньше нагружать будет...
И кстати если ты хочешь просматривать логи через меню...то учти что там ограничение по -колву символов....возможно лучше писать каждый час в отдельный файл...
Go to the top of the page
+Quote Post
Setuper
сообщение 20.5.2009, 20:51
Сообщение #12


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

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




Насчёт handle согласен.
Насчёт ограничения, то они на админов не распространяются.
Go to the top of the page
+Quote Post
vicious
сообщение 20.5.2009, 22:57
Сообщение #13


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

Группа: Пользователи
Сообщений: 173
Регистрация: 26.1.2009
Из: Saratov
Пользователь №: 1 965
Спасибо сказали: 7 раз




Цитата(Setuper @ 20.5.2009, 21:51) *
Насчёт handle согласен.
Насчёт ограничения, то они на админов не распространяются.

Ограничения есть...я полагаю что ограничивается клиентом...просто определенное кол-во строк может поместиться в окошко (будь то личка или нет)...последущие заменяют первые!
Go to the top of the page
+Quote Post
Wariner
сообщение 21.5.2009, 6:57
Сообщение #14


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

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




скорее не клиентом а переменными... может я конечно ошибаюсь, но наверно придел символов существует.
Go to the top of the page
+Quote Post
Setuper
сообщение 21.5.2009, 20:28
Сообщение #15


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

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




предел конечно существует и в переменных и в клиенте big_smile.gif
Go to the top of the page
+Quote Post
vicious
сообщение 21.5.2009, 21:11
Сообщение #16


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

Группа: Пользователи
Сообщений: 173
Регистрация: 26.1.2009
Из: Saratov
Пользователь №: 1 965
Спасибо сказали: 7 раз




Ну переменные то ладно, логи можно кусками отправлять....но вот в клиенте ограничение не обойти!...поэтому если на хабе много общаются - то лучше писать логи по часам..и делать возможность просмотра логов по часам...потому что если открывать целый день, то скорее всего не поместится ввесь дневной лог в окне ЦД клиента
Go to the top of the page
+Quote Post
Setuper
сообщение 21.5.2009, 21:14
Сообщение #17


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

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




Лучше писать логи и выводить какое-то количество строк, допустим последние 100 строк лога.
Go to the top of the page
+Quote Post
vicious
сообщение 21.5.2009, 21:17
Сообщение #18


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

Группа: Пользователи
Сообщений: 173
Регистрация: 26.1.2009
Из: Saratov
Пользователь №: 1 965
Спасибо сказали: 7 раз




и где смысл? а если мне нужен старый лог?
Мне вот нравится реализация Хубовская...я вот в своем боте такую же сделал...по мне - так удобно.
Go to the top of the page
+Quote Post
Setuper
сообщение 21.5.2009, 21:20
Сообщение #19


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

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




В общем по разному можно сделать. Оптимальнее конечно же хранить в бд и делать всевозможные запросы хоть по числу, хоть по часу, хоть по количеству строк.
Go to the top of the page
+Quote Post

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

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsЧат клиент для DC++ (только чат)
5 мамин_парень 8 019 15.10.2017, 15:22 Посл. сообщение: CyberGhost404
No New Posts Слушает только IPv6?
PtokaX DC Hub 0.5.2.1
1 iTCenter 5 756 11.9.2015, 19:12 Посл. сообщение: alex82
No New Posts История чата
помогите исправить
0 fenrir 5 001 17.11.2014, 2:24 Посл. сообщение: fenrir
No New Posts Topic has attachmentsВывод последний N сообщений чата при входе
Verlihub
2 Vizunchik 10 027 13.9.2014, 9:53 Посл. сообщение: Ahton
No New Posts Topic has attachmentsПроблема со скриптом Истории чата
5 SonicX 9 364 27.6.2014, 19:04 Посл. сообщение: sergius_s
No new Topic has attachmentsИстория чата
версия 2.1a
18 Accelerator 28 611 13.2.2013, 15:59 Посл. сообщение: Артём
No new Topic has attachmentsСкрипт блок привата и общего чата (ответ цифрами) для Verlihub
19 Алекс 23 138 28.11.2012, 0:30 Посл. сообщение: Алекс
No New Posts Topic has attachmentsПоказ список онлайн пользователей и мониторинг чата на сайте
Verlihub
5 Vizunchik 13 518 25.9.2012, 7:37 Посл. сообщение: wolf night
No New Posts Как получить сообщения из чата
6 Radzhab 10 975 13.9.2012, 23:01 Посл. сообщение: mariner
No New Posts Заглушка чата (GAG)
для одного пользователя
9 arktik 14 104 31.1.2012, 0:27 Посл. сообщение: Otshelnik-Fm
No New Posts Нужен скрипт для вкл/выкл чата
2 RAZORkhv 6 994 23.12.2011, 22:06 Посл. сообщение: Ksan
No New Posts Активное подключение только для одного
6 blacky 8 959 3.11.2011, 22:56 Посл. сообщение: blacky
Closed Скрипт логирования главного чата
г.
1 Lamo 6 080 2.8.2011, 17:28 Посл. сообщение: Setuper
No New Posts От: Заглушка чата (GAG)
От темы с ID: 4889
1 DEN 007 5 607 1.7.2011, 11:51 Посл. сообщение: Ksan
No new Topic has attachmentsИстория чата в интересном месте
15 CrazyCat 14 720 5.5.2011, 1:04 Посл. сообщение: Alexey

 



RSS Сейчас: 23.12.2024, 13:41