עמוד ראשי מירק סקריפטינג סניפטים בוט חדשות - Newsbot

בוט חדשות - Newsbot

mIRC Snippets - בפורום זה יפורסמו קודים שימושיים למירק. לפרסום קודים יש לפרסמם תחילה בפורום "פרסום קודים ומדריכים" ולאחר מכאן הם יועברו לפורום זה.

ZxoR
מנהל גלובאלי
בוט חדשות - Newsbot
הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 05 דצמבר 2010, 23:10
שם הקוד: News bot
יוצר: ZxoR
תיאור: אחרי שראיתי שNix התחיל לבנות כזה, אמרתי "למה לא" ובניתי גם אחד. זה מתחבר ל10 אתרי חדשות, מאוד נחמד, 'די' מעוצב... עם דיאלוג לבחירת ערוצי חדשות...
דרישות: נבדק על מירק 6.31
תמונה:
תמונה

*ישנם כנראה כמה באגים בקריאת HTML, אני צריך אבל שידווחו לי על זה, אחרת אני לא ידע לתקן, זה עניין של זמן*
*בוט זה מתאים גם לQuakenet*
בקשר לעיצוב: הוא ראשוני, אני יעשה משהו יפה יותר ונוח לקריאה יותר ואולי גם אפשרות לשנות עיצוב דרך הדיאלוג.

alias -l zn.walla {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname rss.walla.co.il 80
  sockmark %sockname walla
}
alias -l zn.ynet {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname www.ynet.co.il 80
  sockmark %sockname ynet
}
alias -l zn.hnn {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname www.hnn.co.il 80
  sockmark %sockname hnn
}
alias -l zn.iba {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname www.iba.org.il 80
  sockmark %sockname iba
}
alias -l zn.rotter {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname rotter.net 80
  sockmark %sockname rotter
}
alias -l zn.nrg {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname rss.nrg.co.il 80
  sockmark %sockname nrg
}
alias -l zn.nana {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname news.nana10.co.il 80
  sockmark %sockname nana
}
alias -l zn.mako {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname rcs.mako.co.il 80
  sockmark %sockname mako
}
alias -l zn.arz {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname www.haaretz.co.il 80
  sockmark %sockname arz
}
alias -l zn.inn {
  var %sockname = zn.news. $+ $ticks
  sockopen %sockname www.inn.co.il 80
  sockmark %sockname inn
}
on *:sockopen:zn.news.*: {
  if !$sockerr {
    var %s sockwrite -tn $sockname
    if ($sock($sockname).mark == walla) {
      %s GET /?w=/1/22/0/@rss HTTP/1.1
      %s Host: rss.walla.co.il
    }
    elseif ($sock($sockname).mark == ynet) {
      %s GET /home/0,7340,L-184,00.html HTTP/1.1
      %s Host: www.ynet.co.il
      %s Accept: *
    }
    elseif ($sock($sockname).mark == nrg) {
      %s GET /newsflash/ HTTP/1.1
      %s Host: rss.nrg.co.il
      %s Connection: close
    }
    elseif ($sock($sockname).mark == nana) {
      %s GET /Ticker/TickerList.asp?TickerID=1073 HTTP/1.1
      %s Host: news.nana10.co.il
    }
    elseif ($sock($sockname).mark == mako) {
      %s GET /rss/MainSliderRss.xml HTTP/1.1
      %s Host: rcs.mako.co.il
    }
    elseif ($sock($sockname).mark == rotter) {
      %s GET / HTTP/1.1
      %s Host: rotter.net
    }
    elseif ($sock($sockname).mark == arz) {
      %s GET /feed/newsRss.xml HTTP/1.1
      %s Host: www.haaretz.co.il
    }
    elseif ($sock($sockname).mark == iba) {
      %s GET /bet/bet.aspx?type=allItems HTTP/1.1
      %s Host: www.iba.org.il
    }
    elseif ($sock($sockname).mark == inn) {
      %s GET /News/AllFlashes.aspx HTTP/1.1
      %s Host: www.inn.co.il
    }
    elseif ($sock($sockname).mark == hnn) {
      %s GET /rss.xml HTTP/1.1
      %s Host: www.hnn.co.il
    }
    %s Connection: close
    %s User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729)
    %s
  }
}
on *:sockread:zn.news.*: {
  if ($sockerr) { return }
  while ($sockbr) {
    var %sockread
    sockread -f %sockread
    if ($sock($sockname).mark == walla) {
      if (*<item>* iswm %sockread) { set %zn.walla.activate 1 }
      if (!%zn.walla.activate) return
      if ($regex(%sockread,/<title>(.+)</title>/i)) { set %zn.walla.title $regml(1) }
      if ($regex(%sockread,/<link>(http:\/\/news\.walla\.co\.il\/\/\?w=\/\d+\/(\d+))<\/link>/i)) {
        set %zn.walla.link $regml(1)
        if (%zn.last.walla < $regml(2)) {
          set %zn.last.walla $regml(2)
          msg %channel 0,1Walla:7 %zn.walla.title 14-12 %zn.walla.link
        }
        unset %zn.walla.*
        sockclose $sockname
        return 1
      }
    }   
    elseif ($sock($sockname).mark == iba) {
      if ($regex(%sockread,/<a class="innerMoreMain" onclick="return false;" href="(http:\/\/www\.iba\.org\.il\/bet\/\?entity=(\d+))&amp;type=1&amp;topic=0&amp;page=">(.+)<\/a>/i)) {
        if ($regml(2) > %zn.last.iba) {
          msg %channel 1'רשת ב:7 $regml(3) 14-12 $regml(1)
          set %zn.last.iba $regml(2)
        }
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == rotter) {
      if ($regex(%sockread,/HREF='(http://rotter.net/forum/scoops1/(\d+).shtml)'><span style='font-size:10\.0pt;color:\d+'><\/g>(.+)<\/g><\/span><\/a><br>/i)) {
        if ($regml(2) > %zn.last.rotter) {
          msg %channel 7rotter:7 $regml(3) 14-12 $regml(1)
          set %zn.last.rotter $regml(2)
        }
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == hnn) {
      if (*<item>* iswm %sockread) { set %zn.hnn.activate 1 }
      if (!%zn.hnn.activate) return
      if ($regex(%sockread,/<title>(.+)</title>/i)) { set %zn.hnn.title $regml(1) }
      if ($regex(%sockread,/<link>(http://www.hnn.co.il/rss_news_article(\d+).html)</link>/i)) {
        set %zn.hnn.link $regml(1)
        if (%zn.last.hnn < $regml(2)) {
          set %zn.last.hnn $regml(2)
          msg %channel 6HNN:7 %zn.hnn.title 14-12 %zn.hnn.link
        }
        unset %zn.hnn.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == arz) {
      if (*<item>* iswm %sockread) { set %zn.arz.activate 1 }
      if (!%zn.arz.activate) return
      if ($regex(%sockread,/<title><!\[CDATA\[(.+)\]\]></title>/i)) { set %zn.arz.title $regml(1) }
      if ($regex(%sockread,/<link>(http://www.haaretz.co.il/hasite/spages/\d+.html)</link>/i)) {
        set %zn.arz.link $regml(1)
        if (%zn.last.arz != $regml(1)) && (%zn.last.arz2 != $regml(1)) {
          set %zn.last.arz2 $iif(%zn.last.arz,$v1,$null)
          set %zn.last.arz $regml(1)
          msg %channel 0,12Haaretz:7 %zn.arz.title 14-12 %zn.arz.link
        }
        unset %zn.arz.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == inn) {
      if ($regex(%sockread,/<div class=Flash><div class=Hour>\S+<\/div><a href=(\/News\/Flash\.aspx/(\d+))>(.+)/i)) {
        if (%zn.last.inn < $regml(2)) {
          msg %channel 0772ערוץ:7 $gettok($regml(3),1,60) 14-12 http://www.inn.co.il $+ $regml(1)
          set %zn.last.inn $regml(2)
        }
        unset %zn.inn.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == ynet) {
      if ($regex(%sockread,/<TD .+'><a href='(.+\.html)' .+> (.+) <\/a><BR>/i)) {
        var %r1 = $regml(1),%r2 = $regml(2),%regex = /\/articles\/\d*,\d*,L-(.+),\d*\.html/i
        noop $regex($remove($gettok($regml(1),1,32),'),%regex)
        if (%zn.last.ynet < $regml(1)) {
          set %zn.last.ynet $regml(1)
          msg %channel 0,4Y14net:7 $remove($replace(%r2,&quot;,",#39;,'),&) 14-12 http://www.ynet.co.il $+ $remove($gettok(%r1,1,32),')
        }
        unset %zn.ynet.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == mako) {
      if (*<item>* iswm %sockread) { set %zn.mako.activate 1 }
      if (!%zn.mako.activate) return
      if ($regex(%sockread,/<title>(.+)</title>/i)) { set %zn.mako.title $regml(1) }
      if ($regex(%sockread,/<link>(http:\/\/www\.mako\.co\.il\/.+\/.+\/Article-(.+\..+))&amp;Partner=rss</link>/i)) {
        set %zn.mako.link $regml(1)
        if (%zn.last.mako != $regml(2)) && (%zn.last.mako2 != $regml(2)) {
          msg %channel ma2ko:7 $remove($replace(%zn.mako.title,&quot;,",#39;,'),&) 14-12 $regml(1)
          set %zn.last.mako2 $iif(%zn.last.mako,$v1,$null)
          set %zn.last.mako $regml(2)
        }
        unset %zn.mako.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == nana) {
      if ($regex(%sockread,<a href="(\/Article\/\?ArticleID=\d+)" .+">(.+)<\/a><\/span>)) {
        if ($regml(1) != %zn.last.nana) && ($regml(1) != %zn.last.nana2) {
          msg %channel Nana:7 $regml(2) 14-12 http://news.nana10.co.il $+ $regml(1)
          set %zn.last.nana2 $iif(%zn.last.nana,$v1,$null)
          set %zn.last.nana $regml(1)
        }
        unset %zn.nana.*
        sockclose $sockname
        return 1
      }
    }
    elseif ($sock($sockname).mark == nrg) {
      if ($regex(%sockread,/<title><!\[CDATA\[(.+)/i)) {
        if ($regml(1) != %zn.last.nrg) && ($regml(1) != %zn.last.nrg2)  {
          msg %channel 14nrg4מעריב:7 $remove($regml(1),]]></title>)
          set %zn.last.nrg2 $iif(%zn.last.nrg,$v1,$null)
          set %zn.last.nrg $regml(1)
        }
        unset %zn.nrg.*
        sockclose $sockname
        return 1
      }
    }
  }
  sockread -f %sockread
}
alias zn.checknews {
  if ($me !ison %channel) return
  if (!%zn.last.hnn) set %zn.last.hnn 0
  if (!%zn.last.iba) set %zn.last.iba 0
  if (!%zn.last.inn) set %zn.last.inn 0
  if (!%zn.last.walla) set %zn.last.walla 0
  if (!%zn.last.ynet) set %zn.last.ynet 0
  if (!%zn.last.rotter) set %zn.last.rotter 0
  if (%zn.turn.walla != 0) .zn.walla
  if (%zn.turn.nrg != 0) .timer 1 2 .zn.nrg
  if (%zn.turn.ynet != 0) .timer 1 4 .zn.ynet
  if (%zn.turn.nana != 0) .timer 1 6 .zn.nana
  if (%zn.turn.mako != 0) .timer 1 8 .zn.mako
  if (%zn.turn.arz != 0) .timer 1 10 .zn.arz
  if (%zn.turn.inn != 0) .timer 1 12 .zn.inn
  if (%zn.turn.hnn != 0) .timer 1 14 .zn.hnn
  if (%zn.turn.iba != 0) .timer 1 16 .zn.iba
  if (%zn.turn.rotter != 0) .timer 1 18 .zn.rotter
}
dialog zxor_news {
  title "ZxoR News Bot"
  size -1 -1 110 70
  option dbu
  text "Channel:", 1, 18 2 22 8
  edit "#Channel", 2, 42 1 50 10
  check "Walla news", 3, 1 12 50 10
  check "Nana10 news", 4, 1 21 50 10
  check "YNet news", 5, 1 30 50 10
  check "HNN news", 6, 1 39 50 10
  check "NRG news", 7, 57 12 50 10
  check "Mako news", 8, 57 21 50 10
  check "Haaretz news", 9, 57 30 50 10
  check "INN news", 10, 57 39 50 10
  button "Save settings", 11, 0 58 110 12
  check "Reshet bet news", 12, 1 48 50 10
  check "Rotter news", 13, 57 48 50 10
}
menu * {
  ZxoR News dialog:dialog -m zxor_news zxor_news
}
on *:dialog:zxor_news:init:0: {
  if (%channel) { did -ra $dname 2 $v1 }
  if (%zn.turn.walla != 0) { did -c $dname 3 }
  if (%zn.turn.nana != 0) { did -c $dname 4 }
  if (%zn.turn.ynet != 0) { did -c $dname 5 }
  if (%zn.turn.hnn != 0) { did -c $dname 6 }
  if (%zn.turn.nrg != 0) { did -c $dname 7 }
  if (%zn.turn.mako != 0) { did -c $dname 8 }
  if (%zn.turn.arz != 0) { did -c $dname 9 }
  if (%zn.turn.inn != 0) { did -c $dname 10 }
  if (%zn.turn.iba != 0) { did -c $dname 12 }
  if (%zn.turn.rotter != 0) { did -c $dname 13 }
}
on *:dialog:zxor_news:sclick:11: {
  set %channel $did($dname,2)
  set %zn.turn.walla $did($dname,3).state
  set %zn.turn.nana $did($dname,4).state
  set %zn.turn.ynet $did($dname,5).state
  set %zn.turn.hnn $did($dname,6).state
  set %zn.turn.nrg $did($dname,7).state
  set %zn.turn.mako $did($dname,8).state
  set %zn.turn.arz $did($dname,9).state
  set %zn.turn.inn $did($dname,10).state
  set %zn.turn.iba $did($dname,12).state
  set %zn.turn.rotter $did($dname,13).state
}
on *:connect: { .timer 0 15 /zn.checknews }
alias -l sockopen {
  if (!$sock($1)) !sockopen $1-
}
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 15 ספטמבר 2010, 12:07
הודעות: 3
פורסם: 06 דצמבר 2010, 09:19
רעיון מעולה

הצטרף: 13 יולי 2010, 16:40
הודעות: 38
פורסם: 06 דצמבר 2010, 14:35
כל הכבוד יונתן בלאט ! חח
תודה על הפרסום

הצטרף: 02 אוקטובר 2010, 18:20
הודעות: 1
פורסם: 06 דצמבר 2010, 15:10
אחלה בוט ,
אבל בתכלס אני הייתי מחובר למחשב שלו בטיים ויאור ועשיתי הכול!
שים קרידיט סאמק!!

ZxoR לא רק שם!

ZxoR
מנהל גלובאלי
Re: פרסום| בוט חדשות
הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 06 דצמבר 2010, 15:20
HotShot כתב:
אחלה בוט ,
אבל בתכלס אני הייתי מחובר למחשב שלו בטיים ויאור ועשיתי הכול!
שים קרידיט סאמק!!

ZxoR לא רק שם!

חחח, הבנייה הייתה מספיק זמן כדי שהמוח שלך היה נשרף אם היית מחובר אלי בTV.
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 29 יוני 2010, 16:13
הודעות: 112
פורסם: 06 דצמבר 2010, 20:24
יפה מאוד :)

ZxoR
מנהל גלובאלי
Re: פרסום| בוט חדשות
הצטרף: 01 יולי 2010, 07:43
הודעות: 370
פורסם: 07 דצמבר 2010, 11:35
נוספו עוד 2 אתרי חדשות ותוקנו הבאגים.
שימו לב: בוטי המשחק שאני בונה לא מתאימים לQuakenet אלא אם כן צויין אחרת.
<+vendetta-> סיאג לחוכמה שתיקה
<+vendetta--> בא לי מוח
<Ninja`> דפקתי נקנקיה

הצטרף: 24 דצמבר 2010, 18:57
הודעות: 1
פורסם: 24 דצמבר 2010, 19:40
תודה גבר

הצטרף: 30 יוני 2010, 18:18
הודעות: 75
פורסם: 25 דצמבר 2010, 11:13
למה לא עשיתה לכל אתר on sockopen שונה כמו שעשתה לכל אחד אליסס שונה ? (ציניות)
חוץ מיזה הוא ניראה נחמד
לא ראיתי אם יש לי אפשרות יפה דרך הדיאלוג לכבות את זה או להדליק וגם לא שמתי לב לאפשרות לשלוט על התיימרים לבד
חוץ מיזה הוא ניראה נחמד
In the name of God, impure souls of the living dead shall be banished into eternal damnation
Amen
תמונה
אפשר למצוא אותי בערוץ החברים שלי בקווקנט tomer2k#


חזור אל סניפטים

cron