egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Do anyone has the working !fml tcl for the eggdrop?

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
_niCk
Voice


Joined: 08 Oct 2018
Posts: 4
Location: .in

PostPosted: Mon Nov 19, 2018 5:33 pm    Post subject: Do anyone has the working !fml tcl for the eggdrop? Reply with quote

Greetings,

It's been more than a month now, the !fml script has stopped giving a result while triggered.

Please help!


Best,
_niCk
Back to top
View user's profile Send private message
heartbroken
Halfop


Joined: 23 Jun 2011
Posts: 86
Location: somewhere out there

PostPosted: Tue Nov 20, 2018 7:37 am    Post subject: Reply with quote

.chanset #channel +FML

TclTLS : https://core.tcl.tk/tcltls/wiki/Download (tls package)
tcllib : https://github.com/tcltk/tcllib (htmlparse package)

Code:
package require http
package require tls
package require htmlparse

proc do_fml {} {
   if {[package vcompare [package present tls] 1.7] > 0} {
      ::http::register https 443 [list ::tls::socket -autoservername true]
   } else {
      ::http::register https 443 [list ::tls::socket -request 0 -require 1 -ssl2 0 -ssl3 0 -tls1 1]
   }
   ::http::config -useragent "Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.7e" -urlencoding "utf-8"
   if {[catch {set token [http::geturl https://www.fmylife.com/random -binary 0 -timeout 15000]} err]} {
      putlog "FML Error: $err"
      return 0
   }
   if {[http::status $token] eq "ok" && [http::ncode $token] == "200"} {
      set html [http::data $token]
      ::http::cleanup $token
      set out [list ]
      foreach {null data} [regexp -all -inline {block hidden\-xs\">.+?<a href=\"/article/today.+?.html\">(.*?)</a>} $html] {
         regsub -all -- {(<[^<>]+/>)} $data "" data
         regsub -all {FML} $data \00304\002\\0\003 data
         lappend out [split [string trim $data]]
      }
      set fmlout [lindex $out [expr {int(rand()*[llength $out])}]]
   } else {
      set fmlout "FML Error: [http::status $token] - [http::code $token]"
      ::http::cleanup $token
   }
   ::http::unregister https
   return $fmlout
}

bind pub -|- !fml fml_pubin

proc fml_pubin {nick uhost hand chan text} {
   if {![channel get $chan FML]} { return 0 }
   puthelp "PRIVMSG $chan :[join [htmlparse::mapEscapes [do_fml]]]"
}

setudef flag FML


Edited: ::http::register https lines moved inside of the proc.
_________________
Life iS Just a dReaM oN tHE wAy to DeaTh


Last edited by heartbroken on Wed Nov 21, 2018 8:08 am; edited 2 times in total
Back to top
View user's profile Send private message
_niCk
Voice


Joined: 08 Oct 2018
Posts: 4
Location: .in

PostPosted: Tue Nov 20, 2018 4:57 pm    Post subject: Reply with quote

Thank you for the script, heartbroken. Smile

The script worked just great at the very first trigger but after that, it didn't give the results instead returned 0.

PS

@_niCK !fml
+Twitler Today, after moving in with a couple of vegan zoologists a few weeks ago, I discover that they don't believe that we have the right to kill cockroaches, and will not allow me to do so. The house is infested, and it's spread to my bedroom. FML
@_niCk !fml
+Twitler 0
@_niCk !fml
+Twitler 0


In the bot party line, I am getting this error!

FML Error: Unsupported URL type "https"
FML Error: Unsupported URL type "https"


Please advise.

Thnx,
_niCk
Back to top
View user's profile Send private message
heartbroken
Halfop


Joined: 23 Jun 2011
Posts: 86
Location: somewhere out there

PostPosted: Wed Nov 21, 2018 8:05 am    Post subject: Reply with quote

I've edited the script above. You're welcome!
_________________
Life iS Just a dReaM oN tHE wAy to DeaTh
Back to top
View user's profile Send private message
Dominatez
Voice


Joined: 14 Jan 2019
Posts: 19
Location: United Kingdom

PostPosted: Mon May 27, 2019 4:49 pm    Post subject: Reply with quote

This for some odd reason was working and now has stopped.

Keeps with the error :

FML Error: timeout -

Any ideas ?
Back to top
View user's profile Send private message
heartbroken
Halfop


Joined: 23 Jun 2011
Posts: 86
Location: somewhere out there

PostPosted: Mon May 27, 2019 6:29 pm    Post subject: Reply with quote

just replace :
Code:
foreach {null data} [regexp -all -inline {block hidden\-xs\">.+?<a href=\"/article/today.+?.html\">(.*?)</a>} $html] {

to:
Code:
foreach {null data} [regexp -all -inline {article\-topbar\">.+?<a href=\"/article/today.+?.html\">(.*?)</a>} $html] {

_________________
Life iS Just a dReaM oN tHE wAy to DeaTh
Back to top
View user's profile Send private message
Dominatez
Voice


Joined: 14 Jan 2019
Posts: 19
Location: United Kingdom

PostPosted: Fri May 31, 2019 5:50 am    Post subject: Reply with quote

Thank you Heartbroken.

Works like a charm.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber