IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   !feed +auto RSS Sorunu (https://www.ircforumlari.net/mirc-scripting-sorunlari/499670-feed-auto-rss-sorunu.html)

kheldor 08 Ağustos 2012 17:46

Toplam 2 Eklenti bulunuyor.
Merhaba Arkadaşlar. İRC icin feed remotesi buldum. Sistem calısıyor. Ancak status ekranında zirt pirt şu mesaj çıkıyor.

/hadd: insufficient parameters (line 53, feed.txt)

Ek olarak feed icin

!feed +auto link/rss yaptıgım 1 kanalı silemıyorum.

Sıkıntım 2 adet.
1.si statuste /hadd li cikan hata mesajı.
2.si feed icin eklediğim kanalı silmek.

Saygılarımla.


alias feed.char {
var %i = 32, %str = $1
while (%i) var %str = $replace(%str,$chr(%i),$chr(32)), %i = %i - 1
return %str
}
alias feed.html {
var %str = $1
while (<![*[*]]> iswm %str) var %str = $mid(%str,$calc($pos(%str,[,2) + 1),-3)
var %str = $regsubex(%str,/<(.*?)>/g,)
;while ($pos(%str,<)) var %str = $remove(%str,$mid(%str,$v1,$calc($pos(%str,>) - $v1 + 1)))
if (*&#*;* iswm %str) var %str = $regsubex(%str,/&#(\d+?);/g,$utfdecode(\1))
return $replacex(%str,&amp;,&,&mdash;,-,&quot;,",&lt;,<,&gt;,>,&laquo;,<<,&raquo;,>>,&nbsp;,$chr(32))
}
alias feed.urlencode {
var %i = 255, %str = $1
while (%i >= 128) var %str = $replace(%str,$chr(%i),$+(%,$base(%i,10,16,2))), %i = %i - 1
return %str
}
alias feed.request {
var %scheme, %user, %pass, %ssl = $false, %address = $2, %request = /
if ($pos(%address,://)) {
var %address = $mid(%address,$calc($v1 + 3))
if ($v1 > 1) {
var %scheme = $mid($2,1,$calc($v1 - 1))
if (*s iswm %scheme) var %ssl = $true, %scheme = $left(%scheme,-1)
}
}
if ($pos(%address,/)) var %request = $gettok($mid(%address,$v1),1,35)
var %address = $gettok(%address,1,47)
if (*?:?*@* iswm %address) {
var %user = $gettok(%address,1,58)
var %pass = $gettok($gettok(%address,2,58),1,64)
}
if ($pos(%address,@)) var %address = $mid(%address,$calc($v1 + 1))
var %host = $gettok(%address,1,58)
var %port = $gettok(%address,2,58)
if ($sock($+(feed.,$1))) sockclose $v1
sockopen $iif(%ssl,-e) $+(feed.,$1) %host $iif(%port isnum,$v1,$iif(%ssl,443,80))
sockmark $+(feed.,$1) $+(%user,:,%pass) %request $3-
}
alias feed.database {
if ($1 == load) {
if ($lof(channels/feed.txt)) {
if ($fopen(feed)) .fclose $v1
.fopen feed channels/feed.txt
while (!$feof) {
var %read = $fread(feed)
if (* iswm %read) {
var %database = $mid($v2,2,-1)
if ($hget(%database)) hdel -w %database *
else hmake %database
}
else hadd %database %read
}
.fclose feed
}
}
elseif ($1 == save) {
if ($fopen(feed)) .fclose $v1
.fopen -no feed channels/feed.txt
var %i = 1
while ($hget(%i)) {
var %database = $v1, %o = 1, %i = %i + 1
if (feed* iswm %database) {
.fwrite -n feed $+(,%database,)
while ($hget(%database,%o).item) {
.fwrite -n feed $v1 $hget(%database,$v1)
inc %o
}
}
}
.fclose feed
}
}
on *:START: {
feed.database load
if ($hget(feed,created)) return
hmake feed
hmake feed.sockets
hmake feed.url
hadd feed created $ctime
feed.database save
}
on *:TEXT:*:#: {
if ($1 == !feed) {
var %auto, %alias, %request, %replace = $+($null,/,$null), %trunc = 250, %number = 2, %mask = *, %regex = .*, %time = 300, %target = #, %format = %title @ %link
while ($0 > 1) {
if ($2 == +auto) || ($2 == -auto) var %auto = $replace($2,+auto,$true,-auto,$false)
elseif (^?* iswm $2) var %trunc = $mid($2,2)
elseif (#?* iswm $2) var %number = $mid($2,2)
elseif (@?* iswm $2) var %alias = $mid($2,2)
elseif (=?* iswm $2) var %target = $mid($2,2)
elseif (~?* iswm $2) var %mask = $mid($2,2)
elseif (~$?* iswm $2) var %regex = $mid($2,2)
elseif (/?*/* iswm $2) var %replace = $mid($2,2)
elseif ($(%?*,) iswm $2) var %time = $mid($2,2)
else break
tokenize 32 $1 $3-
}
var %request = $2
if (%request) {
if ($3-) var %format = $v1
if (%auto == $true) {
if ($hfind(feed.url,%request).data) {
hinc feed id
hadd feed $v1 $hget(feed,$v1) $hget(feed,id)
hadd -m $+(feed.,$hget(feed,id)) trunc %trunc
hadd -m $+(feed.,$hget(feed,id)) mask %mask
hadd -m $+(feed.,$hget(feed,id)) regex %regex
hadd -m $+(feed.,$hget(feed,id)) target %target
hadd -m $+(feed.,$hget(feed,id)) number %number
hadd -m $+(feed.,$hget(feed,id)) alias %alias
hadd -m $+(feed.,$hget(feed,id)) time %time
hadd -m $+(feed.,$hget(feed,id)) replace %replace
hadd -m $+(feed.,$hget(feed,id)) format %format
hadd -m $+(feed.,$hget(feed,id)) ctime $ctime
hadd -m $+(feed.,$hget(feed,id)) nick $nick
hadd -m $+(feed.,$hget(feed,id)) address $address
msg # Лента $+(,%request,) добавлена для $+(,%target,)
}
else {
hinc feed id
hadd feed $hget(feed,id) $hget(feed,id)
hadd feed.url $hget(feed,id) %request
hadd -m $+(feed.,$hget(feed,id)) trunc %trunc
hadd -m $+(feed.,$hget(feed,id)) mask %mask
hadd -m $+(feed.,$hget(feed,id)) regex %regex
hadd -m $+(feed.,$hget(feed,id)) target %target
hadd -m $+(feed.,$hget(feed,id)) number %number
hadd -m $+(feed.,$hget(feed,id)) alias %alias
hadd -m $+(feed.,$hget(feed,id)) time %time
hadd -m $+(feed.,$hget(feed,id)) replace %replace
hadd -m $+(feed.,$hget(feed,id)) format %format
hadd -m $+(feed.,$hget(feed,id)) ctime $ctime
hadd -m $+(feed.,$hget(feed,id)) nick $nick
hadd -m $+(feed.,$hget(feed,id)) address $address
msg # Лента $+(,%request,) добавлена для $+(,%target,)
}
}
elseif (%auto == $false) {

}
else feed.request $ticks %request # %number %mask %target %trunc %regex %replace %format
}
else {
msg # Формат: feed [+|-auto] [^лимит] [%секунды] [#число] [@имя] [=получатель] [~[$регекс]|маска] [/что/на что] <URL> [формат]
msg # Пример: feed [URL]http://lenta.ru/rss[/URL] - Просмотр последних 2-х новостей. :: [+|-auto] вкл./выкл. автосообщение обновлений. [^лимит] обрезания текста. [#число] выводимых новостей. [@имя] ленты. [=получатель] ленты (канал или маска). [~[$регекс]|маска] по которым будут отображены новости. [%секунды] до обновления. [/что/на что] заменить. <URL> адрес ленты. [формат] сообщения (по-умолчанию: %title @ %link).
}
}
elseif ($1 == !feedupdate) {
var %i = 1
while ($hget(feed.url,%i).item) {
feed.request $v1 $hget(feed.url,$v1)
inc %i
}
msg # Обновляю ленты ( $+ $hget(feed.url,0).item $+ )...
}
}
on *:PING: {
var %i = 1
while ($hget(feed.url,%i).item) {
var %id = $v1, %i = %i + 1
if ($calc($hget($+(feed.,%id),time) - ($ctime - $hget($+(feed.,%id),mtime))) > 0) continue
feed.request %id $hget(feed.url,%id)
}
if ($hget(feed,database)) {
hdel feed database
feed.database save
}
}
on *:SOCKOPEN:feed.*: {
tokenize 32 $sock($sockname).mark
if ($sockerr) {
if ($3-) msg $3 $+([,$sock($sockname).addr,:,$sock($sockname).port,]) $sock($sockname).wsmsg
}
else {
sockwrite -n $sockname GET $feed.urlencode($utfencode($2)) HTTP/1.0
sockwrite -n $sockname User-Agent: Mozilla/??
sockwrite -n $sockname Host: $+($sock($sockname).addr,$iif($sock($sockname).port != 80,$+(:,$v1)))
if (*?:?* iswm $1) sockwrite -n $sockname Authorization: Basic $encode($1,m)
sockwrite -n $sockname
if ($hget($sockname)) {
hadd $v1 mtime $ctime
hinc $v1 update
}
}
}
on *:SOCKREAD:feed.*: {
tokenize 32 $sock($sockname).mark
if ($sockerr) {
if ($3-) msg $3 $+([,$sock($sockname).addr,:,$sock($sockname).port,]) $sock($sockname).wsmsg
hdel feed.sockets $sockname
sockclose $sockname
}
else {
sockread $+(&packet.,$sockname)
if ($sockbr = 0) return
bcopy $+(&,$sockname) $calc($hget(feed.sockets,$sockname,$+(&,$sockname)) + 1) $+(&packet.,$sockname) 1 -1
bunset $+(&packet.,$sockname)
hadd -mb feed.sockets $sockname $+(&,$sockname)
}
if ($bvar($+(&,$sockname),0) = 0) return
if ($bfind($+(&,$sockname),1,</item)) {
bcopy $+(&packet.,$sockname) 1 $+(&,$sockname) $calc($v1 + 6) -1
hadd -b feed.sockets $sockname $+(&packet.,$sockname)
if ($3-) {
var %i = $bfind($+(&,$sockname),1,<item)
while ($bfind($+(&,$sockname),%i,<)) {
var %i = $v1 + 1, %> = $bfind($+(&,$sockname),%i,>), %xml = $gettok($bvar($+(&,$sockname),%i,$calc(%> - %i)).text,1,32)
if (%xml == /item) break
elseif (%xml == item) || (/* iswm %xml) continue
var %i = $bfind($+(&,$sockname),%i,</), %> = %> + 1, %data = $replace($bvar($+(&,$sockname),%>,$iif($calc(%i - %>) < 4096,$v1,$v2)).text, [ $replace($9,/,$chr(44)) ] )
hadd feed $+($sockname,.,xml) $hget(feed,$+($sockname,.,xml)) %xml
hadd feed $+($sockname,.,xml,.,%xml) $feed.char(%data)
}
var %i = 1, %sent, %format = $replace($10-,\r,$cr,\n,$lf,\t,$str($chr(160),4))
while ($gettok($hget(feed,$+($sockname,.,xml)),%i,32)) {
var %xml = $v1, %data = $feed.html($hget(feed,$+($sockname,.,xml,.,%xml))), %i = %i + 1
if ($isutf(%data)) var %data = $utfdecode(%data)
if ($5 iswm %data) && ($regex(%data,$8)) var %sent = $true
if ($len(%data) > $7) var %data = $left(%data,$7) ...
var %format = $replace(%format,$+(%,%xml),%data,\r,$cr,\n,$lf,\t,$str($chr(160),4))
hdel feed $+($sockname,.,xml,.,%xml)
}
hdel feed $+($sockname,.,xml)
if (%sent) {
hinc feed $+($sockname,.,sent)
var %crlf = 1
while ($gettok(%format,%crlf,10)) {
msg $6 $remove($v1,$cr)
inc %crlf
}
}
if ($hget(feed,$+($sockname,.,sent)) == $4) {
hdel -w feed $+($sockname,.,*)
hdel feed.sockets $sockname
sockclose $sockname
}
}
else {
var %i = $bfind($+(&,$sockname),1,<item)
if ($bfind($+(&,$sockname),%i,<title)) {
var %> = $bfind($+(&,$sockname),$v1,>) + 1, %hash = $hash($bvar($+(&,$sockname),%>,$iif($calc($bfind($+(&,$sockname),%>,</) - %>) > 4096,$v2,$v1)).text,32)
if ($istok($hget($sockname,hash),%hash,32)) {
hdel -w feed $+($sockname,.,*)
hdel feed.sockets $sockname
sockclose $sockname
}
else {
hadd feed database $ctime
while ($bfind($+(&,$sockname),%i,<)) {
var %i = $v1 + 1, %> = $bfind($+(&,$sockname),%i,>), %xml = $gettok($bvar($+(&,$sockname),%i,$calc(%> - %i)).text,1,32)
if (%xml == /item) break
elseif (%xml == item) || (/* iswm %xml) continue
var %i = $bfind($+(&,$sockname),%i,</), %> = %> + 1, %data = $feed.char($bvar($+(&,$sockname),%>,$iif($calc(%i - %>) < 4096,$v1,$v2)).text)
hadd feed $+($sockname,.,xml) $hget(feed,$+($sockname,.,xml)) %xml
hadd feed $+($sockname,.,xml,.,%xml) %data
}
var %i = 1, %list = $hget(feed,$gettok($sockname,2,46))
while ($gettok(%list,%i,32)) {
var %id = $v1, %i = %i + 1
hadd $+(feed.,%id) hash %hash $gettok($hget($+(feed.,%id),hash),1-16,32)
if ($hget(feed,$+($sockname,.,sent)) == $hget($+(feed.,%id),number)) continue
var %x = 1, %sent, %format = $replace($hget($+(feed.,%id),format),\r,$cr,\n,$lf,\t,$str($chr(160),4))
while ($gettok($hget(feed,$+($sockname,.,xml)),%x,32)) {
var %xml = $v1, %data = $feed.html($hget(feed,$+($sockname,.,xml,.,%xml))), %x = %x + 1
if ($isutf(%data)) var %data = $utfdecode(%data)
if ($hget($+(feed.,%id),mask) iswm %data) && ($regex(%data,$hget($+(feed.,%id),regex))) var %sent = $true
if ($len(%data) > $hget($+(feed.,%id),trunc)) var %data = $left(%data,$hget($+(feed.,%id),trunc)) ...
var %format = $replace(%format,$+(%,%xml),%data)
}
if (%sent) {
hinc feed $+($sockname,.,sent)
var %crlf = 1
while ($gettok(%format,%crlf,10)) {
msg $hget($+(feed.,%id),target) $remove($v1,$cr)
inc %crlf
}
}
}
}
}
}
}
elseif ($bvar($+(&,$sockname),0) > $calc(16 * 1024)) {
hdel -w feed $+($sockname,.,*)
hdel feed.sockets $sockname
sockclose $sockname
}
}
on *:SOCKCLOSE:feed.*: {
hdel -w feed $+($sockname,.,*)
hdel feed.sockets $sockname
}


Ek olarak kanalda !feed yazdığımda

[19:34:58] <@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]> ??????: feed [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] - ???????? ????????? 2-? ????????. :: [+|-auto] ???./????. ????????????? ??????????. [^?????] ????????? ??????. [#?????] ????????? ????????. [@???] ?????. [=??????????] ????? (????? ??? ?????). [~[$??????]|?????] ?? ??????? ????? ?????????? ???????. [%???????] ?? ??????????. [/???/?? ???] ????????. <URL> ????? ?????. [??????] ????????? (??-?????????: %title @ %link).

tarzinda bir hata alıyorum.

Aklıma gelmişken. BOT eklemiş olduğum kanaldaki rssleri bir süre sonra göstermemeye başlıyor. Sanırım kendi kendini kapatıyor.

-
* /hdel: no such table 'feed' (line 286, feed.txt)
-
* /hdel: no such table 'feed' (line 286, feed.txt)
-
* /hadd: no such table 'feed' (line 250, feed.txt)
-
* /hadd: no such table 'feed' (line 250, feed.txt)
-
* /hadd: no such table 'feed' (line 250, feed.txt)
-
* /hadd: no such table 'feed' (line 250, feed.txt)
-
* /hdel: no such table 'feed' (line 292, feed.txt)

Ekstra olarak şöyle güzel bir RSS FEED daha buldum. Ancak tablolari guncellediğimde edit denince iceriği siliyor. Dosya ektedir.

kheldor 02 Eylül 2012 18:16

Cevap: !feed +auto RSS Sorunu
 
Konu hakkında bilgisi olan yok mu ?


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:50.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk