Форум Всеукраїнської інтернет-олімпіади NetOI


На форумі обговорюються лише питання, пов'язані з олімпіадою

Ви не зайшли.

#1 2005-11-05 11:40:29

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Уведомления

Сейчас я сижу, программирую и временами проверяю, не появилось ли что-нибудь новое на форуме... Как сделать так, чтобы при любых изменениях на форуме, мне на экран выскакивало окошко с уведомлением?...


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

#2 2005-11-05 11:54:20

Rybak
Олімпієць
Звідки: Киев, Украина
Зареєстрований: 2005-10-04
Повідомлень: 83
Вебсайт

Re: Уведомления

Ты можешь написать скрипт, причем очень простой. Читаешь каждые там 5 минут главную страницу, и ищешь там табличку и в ней - столбик "повiдомлення", и следишь за увеличением чисел в нем. Даже проще - он там всегда третий.

А еще в каждой теме, прямо над "швидка вiдповiдь" есть линка "Підписатись і відслідковувати тему" - это то, что ты хочешь, но для одной темы а не для всего форума.

Поза форумом

 

#3 2005-11-05 12:02:03

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Re: Уведомления

Rybak написав:

Ты можешь написать скрипт, причем очень простой. Читаешь каждые там 5 минут главную страницу, и ищешь там табличку и в ней - столбик "повiдомлення", и следишь за увеличением чисел в нем. Даже проще - он там всегда третий.

А еще в каждой теме, прямо над "швидка вiдповiдь" есть линка "Підписатись і відслідковувати тему" - это то, что ты хочешь, но для одной темы а не для всего форума.

А как...
Если можно пример...
А если  подписаться, то я не узнаю, когда кто-то сроздат новую тему...


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

#4 2005-11-05 17:48:58

Rybak
Олімпієць
Звідки: Киев, Украина
Зареєстрований: 2005-10-04
Повідомлень: 83
Вебсайт

Re: Уведомления

ROBOT написав:

А как...
Если можно пример...

Вот пример на Питоне. Если ты под Виндой, скачай сначала Питон (в большинстве остальных ОС он и так есть):

http://python.org/ftp/python/2.3.5/Python-2.3.5.exe (меньше 10 метров)

Там все просто, запустишь этот exe и покликаешь "ок"


А вот скрипт. Создаешь файлик "updater.py", помещаешь в него этот текст. Чтобы запустить, просто даблкликаешь.

Не забудь прописать в 5й строчке полный путь к своему браузеру. Ну и в 6й, понятно, паузу менять.

Скрипт будет читать и каждый раз когда появляются изменения, запускать в браузере главную страницу форума.

П.С. Ясное дело там все чуствительно к формату html и подстроено специально под текущий формат на forum.olymp.vinnica.ua. Почитай про Regular Expression в питоновской справке если захочешь настроить для чего-то другого.

Код:

#sample: waiting for particular changes at given url
#by Michael Rybak

url = r"http://forum.olymp.vinnica.ua/"
browser = r"C:\Program Files\Internet Explorer\iexplore.exe"
delay_millisec = 5000

import urllib, re, os, time

print "\n\nPress ctrl-break any time to exit\n\n"

count = 0
while 1:

    print "\n\nRefresh id:", count

    print "Getting data from %s ..." % url
    try:
        s = urllib.urlopen(url).read()
        opened_url = True    
    except:
        print "Can't open URL"
        opened_url = False    
        
    if opened_url:
        print "Parsing ..."
        pieces = "(?:.*?<td class=\"tc3\">(\\d*)<)?" * 50
        r = re.compile(".*blocktable" + pieces + ".*</table>", re.DOTALL)
        cur_lines = list(r.search(s).groups())
        for i in range(len(cur_lines)):
            if (not cur_lines[i]):
                del cur_lines[i:]
                break

        print "Comparing with latest ..."
        try:
            prev_lines = file("status.dat", "r").read()
        except:
            prev_lines = ""
            
        if ("\n".join(cur_lines) == prev_lines):
            print "No new messages"
        else:
            print "New messages found!"
            print "Saving status ..."
            file("status.dat", "w").write("\n".join(cur_lines))
            print "Loading page ..."                
            os.spawnl(os.P_NOWAIT, browser, os.path.split(browser)[1], url)

    count += 1
    time.sleep(delay_millisec / 1000.0)

#end

Поза форумом

 

#5 2005-11-06 18:10:11

Danteus
Олімпієць
Зареєстрований: 2005-10-05
Повідомлень: 24

Re: Уведомления

а советы по вязанию вы не даете?

Поза форумом

 

#6 2005-11-07 02:22:15

Sharp
Олімпієць
Зареєстрований: 2005-10-17
Повідомлень: 34

Re: Уведомления

Еще можешь подключиться к команде разработчиков PunBB и написать им модуль поддержки RSS

Поза форумом

 

#7 2005-11-07 14:07:16

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Re: Уведомления

А он не будет мне сообщать если кто-то только посмотрел форум, но ничего не изменил
на главеноё странице меняется кол-во просмотров и активные польз...


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

#8 2005-11-07 14:18:14

Rybak
Олімпієць
Звідки: Киев, Украина
Зареєстрований: 2005-10-04
Повідомлень: 83
Вебсайт

Re: Уведомления

ROBOT написав:

А он не будет мне сообщать если кто-то только посмотрел форум, но ничего не изменил
на главеноё странице меняется кол-во просмотров и активные польз...

Ты можешь помнить и всю страничку, и кол-во ответов.

Поза форумом

 

#9 2005-11-09 11:39:26

ROBOT
Олімпієць
Звідки: Ялта
Зареєстрований: 2005-10-26
Повідомлень: 158

Re: Уведомления

Всё OK!


I have Delphi 7, BP 7.0, FP 1.0.4, Windows XP
Мои решения олимпиад на  Паскале: http://h0h0l.narod.ru/
Моя проверялка: http://www.proveryalka.narod.ru/
ICQ: 266367671

Поза форумом

 

Нижній колонтитул

Powered by Likt
© Copyright 2002–2009 Likt