-
Posts
6030 -
Joined
-
Last visited
-
Days Won
17
Content Type
Profiles
Forums
Downloads
Gallery
Events
Articles
Posts posted by chain
-
-
OpNewblood
in News
First off, welcome to the internet.
We are Anonymous, and have been gaining popularity and press with stories ranging from Wikileaks, to Protests against Scientology, to the Westboro Baptist Church, to Stephen Colbert's The Colbert Report, to Bank of America, to Mastercard and Paypal, to the lawsuit against GeoHotz from Sony, and to the HBGary Scandal (see 1st video below). If you are unfamiliar with Anonymous, the videos below this paragraph sum it up quite well, so watch the super cool moving picture video thingyz directly below this to get an idea of what we do. If you're already familiar with Anonymous, these videos aren't really neccessary.
-
-
Ubuntu 22.04 LTS shipped with Linux kernel version 5.15 in general, barring the desktop which came with version 5.17. And with an upgrade to Linux 5.19, it looks like Ubuntu 22.04 LTS could have some big gains, even going toe to toe with Windows 11 under certain circumstances. At least, this seems to be the case with AMD's Ryzen 6000 series Rembrandt APUs which come with the updated Zen 3+ micro-architecture and RDNA 2 on-board graphics.
-
Some cool stuff went down in the world of Internet Relay Chat during the past six months and we should take a look at it.
Irssi is back!
In the last news article, I mentioned that the development of the Irssi terminal client had slowed down and that there was an active fork. Since then, the changes from Nei’s fork were integrated upstream. The increased coordination lead to the release of Irssi version 1.4.1 in June. Many new IRCv3 features became available.
IRC Driven, a service that provides indexing for IRC networks is now out of beta. A recent feature is displaying channel logs on the website in real time.
-
The XeroMem IRC Network Routing Team has performed major software updates on the network. Here’s a quick update:
- UnrealIRCd v5.0.9 upgraded to UnrealIRCd v6.0.4
- Anope v2.0.9 upgraded to Anope v2.0.11
UnrealIRCd 6
The UnrealIRCd Team announced and made UnrealIRCd 5 an old-stable release, In doing so, they also announced the upcoming End of Life for UnrealIRCd 5 as July 2023. In an effort to stay current, we’ve updated to the more-recently released UnrealIRCd 6. Changes included a complete overhaul of the logging and snomask features, improved support for IRCv3, GeoIP database management, improved cloaking modules, updated configuration file design, and improved overall stability.
For more information about UnrealIRCd, visit the UnrealIRCd Development Site.
Anope 2.0.11
To support the latest version of UnrealIRCd, we had to upgrade our Services Package from Anope 2.0.9 to Anope 2.0.11. For more information on Anope Services, visit the Anope Development Site.
-
FemvsFem is a fun place for like-minded people to discuss a common interest - Female Combat! Whether it be wrestling, boxing, martial arts, or good old catfighting, #femvsfem is the place to talk about it!
-
The Open and Free Technology Community aims to provide stable and effective collaboration services to members of the community in any part of the world, while closely listening to their needs and desires.
OFTC was founded at the end of 2001 by a group of experienced members of the Open Source and Free Software communities aiming to provide these communities with better communication, development, and support infrastructure.
OFTC is a member project of Software in the Public Interest, a non-profit organization which was founded to help organizations develop and distribute open hardware and software.
You can reach the OFTC IRC network by using a traditional IRC Client of choice, or by the WebChat that we provide. The webchat enables you to connect to the network and chat directly from within your browser.
Connection Details:
- ircs://irc.oftc.net:6697 for SSL (alternative port: 9999), IPv4 and IPv6.
- irc://irc.oftc.net:6667 for non-SSL (alternative ports: 6668-6670, 7000), IPv4 and IPv6.
-
SSL is supported on all of our servers. The server certificates are signed by the Let’s Encrypt certification authority. We also publish DNSSEC-signed TLSA records for irc.oftc.net:6697/tcp (see
dig _6697._tcp.irc.oftc.net tlsa
). - See CertFP for how to configure client certificate-based NickServ identification.
- If you need to force IPv4, connect to ircs://irc4.oftc.net:6697.
- We offer a WebChat service (also via the boxes at the top of this page).
- Use of Tor is permitted to irc.oftc.net or our onion service on ircs://oftcnet6xg6roj6d7id4y4cu6dchysacqj2ldgea73qzdagufflqxrid.onion.
We offer IRC services (NickServ, ChanServ) for nick and channel registration.
If you have support requests regarding the operation of the network please stop by
#oftc
or emailsupport@oftc.net
. We welcome issues and pull requests on our GitHub projects, especially on the issue tracking repository.- We now offer a Tor hidden service: ircs://oftcnet6xg6roj6d7id4y4cu6dchysacqj2ldgea73qzdagufflqxrid.onion.
-
Despite modern alternatives like Slack, the ancient IRC is still hugely popular as an online interactive chat platform.
This may be because there are IRC clients for almost every operating system and device, from the Commodore Amiga to your smartphone, and the technology behind IRC is reassuringly simplistic - it really is just raw text and a few control characters being bumped around the network.
Online servers, such as those offered by Libera Chat, are wonderful for both public and private channels. But it’s equally easy to run your own private IRC server, giving you complete control over your data, logs and configuration settings whilst avoiding all the risks and frustrations of dealing with IRC spammers and bots.
In this tutorial, we’ll cover installing the InspIRCd IRC server on Ubuntu, from installing its dependencies and building the latest version from GitHub, to configuration and execution.
-
A never-before-seen Linux malware has been dubbed a "Swiss Army Knife" for its modular architecture and its capability to install rootkits.
This previously undetected Linux threat, called Lightning Framework by Intezer, is equipped with a plethora of features, making it one of the most intricate frameworks developed for targeting Linux systems.
"The framework has both passive and active capabilities for communication with the threat actor, including opening up SSH on an infected machine, and a polymorphic malleable command and control configuration," Intezer researcher Ryan Robinson said in a new report published today.
-
We are envisioning an "admin panel" where IRCOps would be able to do a number of server tasks, starting with:
Status overview / dashboard
Spamfilter and *LINE management: that would be a lot easier via the web than on IRC
These two things would already be a great start. Naturally more can be added, i'm sure there are lots of ideas.
The admin panel would be installed on a (web)server and would connect to UnrealIRCd using the new JSON-RPC API that is currently being developed. It does not have to run on the same machine as UnrealIRCd.
We are looking for webdevs who would like to help out on the HTML/CSS and the coding-side. Do you have experience with web development and do you have time this summer to work on this? If you do, what would you prefer/suggest?
UPDATE: We have found someone now, see the other posts below. You can still join in to help, of course. In July 2022 the groundwork will be done along with the first few items of the admin panel, but later on more help may be needed to expand things.
Original questions:Which language/environment to use? PHP? NodeJS? Python?
Which coding framework should be used? Eg in case of PHP: Laravel, Symfony, ..? In case of JS/python... what?
Which CSS/front end framework to use? Eg Bootstrap?
Most of the UnrealIRCd devs are backend coders with less experience on webdev/frontend. For us it would be relatively easy to make a quick-and-dirty PHP-without-famework non-AJAX "proof of concept" that is ugly and hard to extend. That is not what we are after. The idea is to have clean code that stays maintainable on the long run. We would like to hear who would like to work on this and what choices should be made.
On our side we can help with getting people together, hosting it as an official (sub)project and exchanging ideas. On the technical side we can provide the right API calls and options in UnrealIRCd.
We have created a new channel #unreal-webpanel on irc.unrealircd.org (IRC TLS on port 6697) that we can use for the discussion. Or you can reply here on the forums. -
due to properbly recently found the link
-
This is an exhaustive list of all the Tcl commands added to Eggdrop 😀
Eggdrop Tcl Commands — Eggdrop 1.9.2 documentation (eggheads.org)
-
Learning basic Unix commands is essential if your using a shell hosting company for your Eggdrop 😀
SpiKe's TCL Scripts | Unix Shell Commands For Eggdrop (mytclscripts.com)
-
This page will help you config your eggdrop 😀
SpiKe's TCL Scripts | Eggdrop Example Configuration (mytclscripts.com)
-
-
This is a small update that adds features and addresses a number of issues reported by users since the last release. It includes improvements, changes and fixes, including:
Added per server options for SSL certificate, logon settings, and server encoding.
Added support for numeric 005 UTF8ONLY token.
Added support for IRCv3 echo-message.
Added support for IRCv3 005 numeric BOT=b mode token.
Added support for various WATCH list numerics for the notify list.
Changed CAP request on connect to speed up server logon.
Changed servers list in connect dialog to group named servers together.
Changed channels favorites location to channels.ini file to allow easier updates.
Changed use of Windows media library to play sounds more smoothly.
Fixed Aero theme colors under Windows 11.
Fixed nested while loops continue bug.
Fixed options dialog not freeing memory when closed.
Updated OpenSSL library to v1.1.1q.
Updated CA root certificates cacert.pem file.
How to upgrade?
mIRC is distributed in an installer that installs mIRC on your computer for you. Simply download and run the installer from the download page on the mIRC website. Follow the instructions the installer gives to you. When upgrading all your old settings and scripts will stay as they were, if you want that. Read the questions the installer asks with care and nothing can go wrong. You will be chatting with the new mIRC in no time. If you get stuck or if you want to find out more about a certain feature, just click on a Help button or browse the Help file and you should find lots of hints to help you out.
Where to download?
As always, the latest version of mIRC can be downloaded from the download page on the mIRC website.
Registering mIRC
As you know, mIRC can be downloaded freely and evaluated for 30 days. If you find that you enjoy using mIRC, it would be great and much appreciated if you registered your copy. This licenses you to use your copy of mIRC and helps to support our continued work on mIRC. You can find out how to register here.
Full list of Fixes, Changes and Additions.
For a more detailed list of recent changes, please see the whatsnew.txt file. You will need to read through the help file to learn more about these changes and their impact. Some changes are obvious, some need getting used to - please take your time to play with them and see how they work. May we invite you to use these forums for all questions you might have? The forums offer great help with everything related to mIRC!
Thanks for using mIRC, have fun on IRC! -
;;;;;;;;;;;;;;;;;; ;; Port Checker ;; ;; By Jonesy44 ;; ;;;;;;;;;;;;;;;;;; alias pc { set %pc.addr $$input(Enter the Address/IP and port of the server you want to check (IP:Port),eq,Port Check - Input Information) if ($sock(pc)) { .sockclose pc } if (%pc.addr) { echo -a 2Port Check; -------------------------------------------------------------------------------------- echo -a 2Port Check; Checking address $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) Please wait.. .sockopen pc $iif(: isin %pc.addr,$replace(%pc.addr,$chr(58),$chr(32)),%pc.addr 80) set %pc.timeout 5 .timerpc1 0 1 pc.timeout } } alias pc.timeout { if (%pc.timeout <= 0) { echo -a 4Port Check: Could not connect to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) echo -a 2Port Check; -------------------------------------------------------------------------------------- .sockclose pc .timerpc1 off unset %pc.addr } else { dec %pc.timeout } } on *:SOCKOPEN:pc: { if ($sockerr) { echo -a 4Port Check: Could not connect to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) } else { echo -a 3Port Check: Connected succesfully to $qt($iif(: isin %pc.addr,%pc.addr,%pc.addr $+ : $+ 80)) } echo -a 2Port Check; -------------------------------------------------------------------------------------- unset %pc.addr .sockclose pc .timerpc1 off }
-
alias calc { echo -a 12Calculation: $calc($1-) } ;;;;; ################# SHOW UPTIME --------------------------------------------------------------------------------------- menu channel,nicklist { System Uptime://echo -a 12Uptime:7 $uptime(system,1) | .timerUPTIME 0 3 /uptdate } alias uptdate { titlebar UP: $uptime(system,1) } ;;;;; ################# GET NICK BACK ---------------k-------------------------------------------- on *:UNOTIFY:{ if ($nick == Eneerge) { /nick Eneerge } } alias bw { if ($1 == $NULL) { echo -a No Input! | haltdef } if ($me ison $1) { if ($2 == $NULL) { echo -a No Input! | haltdef } else { var %currentword_index = $numtok($2-,32) var %inv_word = $NULL while (%currentword_index > 0) { var %currentword = $gettok($2-,%currentword_index,32) var %inv_word while ($len(%currentword) > 0) { var %inv_word = %inv_word $+ $right(%currentword,1) var %currentword = $left(%currentword,-1) } var %inv_msg = %inv_msg $+ $chr(32) $+ %inv_word dec %currentword_index } /msg $1 %inv_msg } } else { var %currentword_index = $numtok($1-,32) var %inv_word = $NULL while (%currentword_index > 0) { var %currentword = $gettok($1-,%currentword_index,32) var %inv_word while ($len(%currentword) > 0) { var %inv_word = %inv_word $+ $right(%currentword,1) var %currentword = $left(%currentword,-1) } var %inv_msg = %inv_msg $+ $chr(32) $+ %inv_word dec %currentword_index } /msg $chan %inv_msg } } ;;;;; ################# Safe Rejoin After Kick ----------------------------------------------------------- on *:KICK:#:{ if ($knick == $me) { .timer 1 5 hop # } } ;;;;; ################# CHECK FOR UN-USED SERVERS --------------------------------------------------------------------- alias check { var %disconnect = $?!="Would you like to disconnect and close the window? ( $+ $server $+ )" if (%disconnect = $true) { /scid $cid window -c "Status Window" } } on me:*:PART:#:{ if ($chan(0) <= 1) { .timerCHECK 1 1 check } } ;;;; ################# HEX URL CONVERSION -------------------------------------------------------------------------------- on 1:DNS:{ var %n = $dns(0) echo -a -=4 Found %n addresses - $dns(%n).nick while (%n > 0) { var %quad1 = $gettok($dns(%n).ip,1,46) var %hex1 = $base(%quad1,10,16) var %quad2 = $gettok($dns(%n).ip,2,46) var %hex2 = $base(%quad2,10,16) var %quad3 = $gettok($dns(%n).ip,3,46) var %hex3 = $base(%quad3,10,16) var %quad4 = $gettok($dns(%n).ip,4,46) var %hex4 = $base(%quad4,10,16) echo -a ADDRESS: $dns(%n).addr $+ ( $+ $dns(%n).ip $+ ) / 12http:// $+ $longip($dns(%n).ip) / 12 $+(http://0x,%hex1,%hex2,%hex3,%hex4) dec %n } halt } ;;;; ################ BETTER URL PARSING ;; E-mail parsing on ^1:HOTLINK:*@*:*: { if (($right($1,4) != .net) || ($right($1,4) != .com) || ($right($1,4) != .org)) { halt } else { return } } ;; URLs on ^1:HOTLINK:*http*:*:{ if (:// isin $1) return | else { halt } } on ^1:HOTLINK:*.net*:*:{ return } on ^1:HOTLINK:*.com*:*:{ return } on ^1:HOTLINK:*.org*:*:{ return } on ^1:HOTLINK:*.ru*:*:{ return } on ^1:HOTLINK:*.nl*:*:{ return } on ^1:HOTLINK:*.biz*:*:{ return } on 1:HOTLINK:*:*:{ var %url = $1 var %chr = 5 while (%chr < 256) { if ($chr(%chr) isincs %url) { set %url $remove(%url,$chr(%chr)) } inc %chr if (%chr == 35) { var %chr = 36 } elseif (%chr == 37) { var %chr = 39 } elseif (%chr == 43) { var %chr = 59 } elseif (%chr == 61) { var %chr = 62 } elseif (%chr == 63) { var %chr = 64 } elseif (%chr == 65) { var %chr = 91 } elseif (%chr == 95) { var %chr = 96 } elseif (%chr == 97) { var %chr = 123 } elseif (%chr == 126) { var %chr = 127 } } if (@ isin $1) { run mailto: $+ %url | halt } if ((http:// !isin %url) && (https:// !isin %url)) { var %url $puttok(%url,http:// $+ %url,1,32) } .url %url } ;;;; ################# TEXT MANIPULATION -------------------------------------------------------------------------------- ;;;; # For channel message on ^1:TEXT:**:#:{ var %template [ $+ [ $nick ] ] < $+ $nick $+ 7> $1- ; ADD VOICE/OP STATUS TO USER ### ; --------------------------- if ($nick isop $chan) { var %template [ $+ [ $nick ] ] $puttok(%template [ $+ [ $nick ] ],<14@ $+ $nick $+ 7>, 1,32) } elseif ($nick isvoice $chan) { var %template [ $+ [ $nick ] ] $puttok(%template [ $+ [ $nick ] ],<14+ $+ $nick $+ 7>, 1,32) } ; HIGHLIGHT MY CURRENT NICKNAME ### ; ----------------------------- var %color 8,2 var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$me,%color $+ $me $+ ) ; HIGHLIGHT URLS ### ; -------------- var %totalURLS $matchtok(%template [ $+ [ $nick ] ],http://,0,32) var %totalURLS $calc(%totalURLS + $matchtok(%template [ $+ [ $nick ] ],www.,0,32)) var %totalURLS $calc(%totalURLS - $matchtok(%template [ $+ [ $nick ] ],http://www.,0,32)) var %color 12,0 while (%totalURLS > 0) { var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32) $+ ) var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32) $+ ) dec %totalURLS } ; DISPLAY DATA ### ; ------------ echo -i8 $chan %template [ $+ [ $nick ] ] halt } ;;; # FOR PRIVAGE MESSAGES on ^1:TEXT:*:?:{ var %color 8,2 var %template [ $+ [ $nick ] ] < $+ $nick $+ 7> $1- ; HIGHLIGHT MY CURRENT NICKNAME ### ; ----------------------------- var %color 8,2 var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$me,%color $+ $me $+ ) ; HIGHLIGHT URLS ### ; -------------- var %totalURLS $matchtok(%template [ $+ [ $nick ] ],http://,0,32) var %totalURLS $calc(%totalURLS + $matchtok(%template [ $+ [ $nick ] ],www.,0,32)) var %totalURLS $calc(%totalURLS - $matchtok(%template [ $+ [ $nick ] ],http://www.,0,32)) var %color 12,0 while (%totalURLS > 0) { var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],http://,%totalURLS,32) $+ ) var %template [ $+ [ $nick ] ] $replace(%template [ $+ [ $nick ] ],$matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32),%color $+ $matchtok(%template [ $+ [ $nick ] ],www.,%totalURLS,32) $+ ) dec %totalURLS } ; DISPLAY DATA ### ; ------------ echo -i3 $nick %template [ $+ [ $nick ] ] ; SET FOCUS TO WINDOW FOR EASY VIEWING ### ; ------------------------------------ if ($active != $nick) { echo -a 7*** 12INCOMING MESSAGE from $nick window -a $nick } halt } on 1:INPUT:#:{ if (($left($1,1) != /) || ($ctrlenter == $true)) { inc %num if ($me isop $chan) { var %mymode @ } elseif ($me isvoice $chan) { var %mymode + } var %template [ $+ [ %num ] ] 14 $+ %mymode $+ 8 $+ $me $+ 7> if ($len($1-) > 399) { .msg $active $1-$399 | editbox -a $right($1-,-399) } else { .msg $active $1- } echo -i8 $chan < $+ %template [ $+ [ %num ] ] $left($1-,399) dec %num halt } if (($1 == /me) || ($1 == /describe)) { if ($2 == $Null) { Echo -a *** 7Invalid input | halt } .describe $chan $2- inc %num var %template [ $+ [ %num ] ] 7 $+ $me $2- if ($me isop $chan) { echo -i8 $chan * 14@7 $+ %template [ $+ [ %num ] ] } else if ($me isvoice $chan) { echo -i8 $chan * 14+7 $+ %template [ $+ [ %num ] ] } else { echo -i8 $chan *7 %template [ $+ [ %num ] ] } dec %num halt } } on 1:INPUT:?:{ if (($left($1,1) != /) || ($ctrlenter == $true)) { inc %num var %template [ $+ [ %num ] ] <12 $+ $me $+ 7> .msg $active $1- echo -i8 $active %template [ $+ [ %num ] ] $1- halt } if (($1 == /me) || ($1 == /describe)) { if ($2 == $Null) { Echo -a *** 7Invalid input | halt } .describe $active $2- inc %num var %template [ $+ [ %num ] ] * 6 $+ $me echo -i8 $active %template [ $+ [ %num ] ] $2- dec %num halt } } on ^1:ACTION:**:#:{ var %template [ $+ [ $nick ] ] $nick $1- if ($nick isop $chan) { echo -i8 $chan *14 @7 $+ %template [ $+ [ $nick ] ] } else if ($nick isvoice $chan) { echo -i8 $chan *14 +7 $+ %template [ $+ [ $nick ] ] } else { echo -i8 $chan *7 %template [ $+ [ $nick ] ] } halt } on ^1:ACTION:**:?:{ var %template [ $+ [ $nick ] ] $nick $1- echo -i8 $nick *7 %template [ $+ [ $nick ] ] halt }
Implements features into mIRC like url highlighting, ip to hex, reverse chat, uptime, getnickback, close redundant connections, safe rejoin, and better text display. I recommend using with a black background.
-
;; ___________________________________________________________________________________________________________________________________________________________________________________ ;;/ \ ;;| _____ _____ _____ _____ _____ _____ _____ | ;;| /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ /\ \ | ;;| /::\ \ /::\____\ /::\ \ /::\ \ /::\ \ /::\ \ /::\ \ | ;;| /::::\ \ /::::| | /::::\ \ /::::\ \ /::::\ \ /::::\ \ /::::\ \ | ;;| /::::::\ \ /:::::| | /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ /::::::\ \ | ;;| /:::/\:::\ \ /::::::| | /:::/\:::\ \ /:::/\:::\ \ /:::/\:::\ uck\ /:::/\:::\ \ /:::/\:::\ \ | ;;| /:::/__\:::\ \ /:::/|::| | /:::/__\:::\ \ /:::/__\:::\ \ /:::/__\:::\ \ /:::/ \:::\ \ /:::/__\:::\ \ | ;;| /::::\ \:::\ \ /:::/ |::| | /::::\ \:::\ \ /::::\ \:::\ \ /::::\ \:::\ \ /:::/ \:::\ \ /::::\ \:::\ \ | ;;| /::::::\ \:::\ \ /:::/ |::| | _____ /::::::\ \:::\ \ /::::::\ \:::\ \ /::::::\ \:::\ \ /:::/ / \:::\ \ /::::::\ \:::\ \ | ;;| /:::/\:::\ \:::\ \ /:::/ |::| |/\ \ /:::/\:::\ \:::\ \ /:::/\:::\ \:::\ \ /:::/\:::\ \:::\____\ /:::/ / \:::\ ___\ /:::/\:::\ \:::\ \ | ;;| /:::/__\:::\ \:::\____\/:: / |::| /::\____\/:::/__\:::\ \:::\____\/:::/__\:::\ \:::\____\/:::/ \:::\ \:::| |/:::/____/ ___\:::| |/:::/__\:::\ \:::\____\ | ;;| \:::\ \:::\ \::/ /\::/ /|::| /:::/ /\:::\ \:::\ \::/ /\:::\ \:::\ \::/ /\::/ |::::\ /:::|____|\:::\ \ /\ /:::|____|\:::\ \:::\ \::/ / | ;;| \:::\ \:::\ \/____/ \/____/ |::| /:::/ / \:::\ \:::\ \/____/ \:::\ \:::\ \/____/ \/____|:::::\/:::/ / \:::\ /::\ \::/ / \:::\ \:::\ \/____/ | ;;| \:::\ \:::\ \ |::|/:::/ / \:::\ \:::\ \ \:::\ \:::\ \ |:::::::::/ / \:::\ \:::\ \/____/ \:::\ \:::\ \ | ;;| \:::\ \:::\____\ |::::::/ / \:::\ \:::\____\ \:::\ \:::\____\ |::|\::::/ / \:::\ \:::\____\ \:::\ \:::\____\ | ;;| \:::\ \::/ / |:::::/ / \:::\ \::/ / \:::\ \::/ / |::| \::/____/ \:::\ /:::/ / \:::\ \::/ / | ;;| \:::\ \/____/ |::::/ / \:::\ \/____/ \:::\ \/____/ |::| ~| \:::\/:::/ / \:::\ \/____/ | ;;| \:::\ \ /:::/ / \:::\ \ \:::\ \ |::| | \::::::/ / \:::\ \ | ;;| \:::\____\ /:::/ / \:::\____\ \:::\____\ \::| | \::::/ / \:::\____\ | ;;| \::/ / \::/ / \::/ / \::/ / \:| | \::/____/ \::/ / | ;;| \/____/ \/____/ \/____/ \/____/ \|___| \/____/ | ;;\___________________________________________________________________________________________________________________________________________________________________________________/ ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Eneerge's Quote Script v1.2 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Without all bells and whistles |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| :) |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ;; ____________________________________________________________________________________________________ ;; _________________________________________ POPUPS GUI _______________________________________________ ;; ____________________________________________________________________________________________________ alias nrg_popupStatus { set %nrg_popup true var %status $nrg_checkStatus($1,$2) unset %nrg_popup if ((%status == quote_isOp) || (%status == quote_isVoice) || (%status == quote_isOp) || (%status == quote_isAllowed)) { return allowed } if (%status == quote_isBanned) { return banned } return false } alias nrg_popupStatusExact { set %nrg_popup true var %status $nrg_checkStatus($1,$2) unset %nrg_popup if (%status == quote_isAllowed) { return (Allow List) } else if (%status == quote_isOp) { return (ChanOP) } else if (%status == quote_isVoice) { return (ChanVoice) } return $null } menu nicklist { - NRG-Quote .Print quote from $1:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { nrg_stdo quote_outputQuote $chan $1 %return_value } } .- .View $1 $+ 's quote DB:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { /run $mircdirquotesdb $+ \ $+ $1 $+ .txt } } .Delete $1 $+ 's quote DB:{ var %return_value = $nrg_quote($1) if (%return_value == quote_noneExist) { nrg_stdo quote_noneExist $me $1 } else { if ($$?="Are you sure you would like to completely purge $1 $+ 's quotedb (y/n)" == y) { /remove $mircdirquotesdb $+ \ $+ $1 $+ .txt } } } .- .Add a quote to $1 $+ 's DB:{ var %nrg_qquote = $$?="What quote would you like to add to $1 $+ 's DB?" var %return_value = $nrg_addquote($1,%nrg_qquote) if (%return_value == quote_Exists) { nrg_stdo quote_Exists $me $1 } else if (%return_value == quote_Added) { nrg_stdo quote_Added $me $1 %nrg_qquote } } .- .$iif($nrg_popupStatus($1,$chan) == banned,$style(1)) Banned:{ ;; COMMENT: User is banned, so toggling would unban them if ($nrg_popupStatus($1,$chan) == banned) { .ruser $1 1 .nrg_stdo quote_remBan $me $1 } ;; COMMENT: User is un-banned, so toggling would ban them else { .nrg_ban $1 .nrg_stdo quote_addBan $me $1 } } .$iif($nrg_popupStatus($1,$chan) == allowed,$style(1)) Allowed $nrg_popupStatusExact($1,$chan):{ if ($nrg_popupStatus($1,$chan) == false) { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } else if ($nrg_popupStatus($1,$chan) == banned) { .ruser $1 1 .nrg_stdo quote_remBan $me $1 if ($nrg_popupStatus($1,$chan) == false) { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } } else if ($nrg_popupStatus($1,$chan) == allowed) { set %nrg_popup true var %status $nrg_checkStatus($1,$chan) unset %nrg_popup if (%status == quote_isAllowed) { .ruser $1 1 .nrg_stdo quote_remAllow $me $1 } else { .nrg_allow $1 .nrg_stdo quote_addAllow $me $1 } } } .- .Open DB Folder:/run $mircdirquotesdb } ;; ____________________________________________________________________________________________________ ;; _________________________________________ LOADING COMMANDS _________________________________________ ;; ____________________________________________________________________________________________________ on *:LOAD:{ if (!$exists($mircdirquotesdb)) { mkdir $mircdirquotesdb } set %nrg_active 0 echo -a 4Successfully loaded Eneerge's quoting system. echo -a 4Quotes will be saved to:3 $mircdirquotesdb } ;; ____________________________________________________________________________________________________ ;; _________________________________________ ALIAS COMMANDS ___________________________________________ ;; ____________________________________________________________________________________________________ ;; ############# nrg_floodcheck - this command checks to see if the script is being flooded. If so, it will return true and halt for 30 seconds. ;; A flood is defined as receiving more than 5 requests within 60 seconds. alias nrg_floodcheck { if (%nrg_popup == true) { return false } inc %nrg_active if (%nrg_lastcmd != $null) { if ($calc(%nrg_lastcmd + 30) >= $ctime) { if (%nrg_active > 7) { set %nrg_flood $ctime return true } } else { unset %nrg_flood | set %nrg_active 0 } } if (%nrg_flood == $null) { set %nrg_lastcmd $ctime return false } } ;; ############# nrg_clearFlood - This command allows you to clear the flood status alias nrg_clearflood { unset %nrg_flood unset %nrg_lastcmd set %nrg_active 0 } ;; ############# nrg_checkStatus - This returns the status of a user and/or the script. A true value allows the script to execute. ;; The script will return true only if all of the following conditions are met: ;; 1) Script is NOT disabled ;; 2) A flood has NOT been detected ;; 3) User is NOT banned ;; and if ONE (not exclusively) of the following conditions are met: ;; 1) User is a channel voice/operator OR ;; 2) User is on the allow list alias nrg_checkStatus { if ((%nrg_disabled != true) && ($nrg_floodcheck != true)) { if ($level($address($1,1)) == nrg_banned) { return quote_isBanned } else { if ($level($address($1,1)) == nrg_allowed) { return quote_isAllowed } else if ($1 isop $2) { return quote_isOp } else if ($1 isvoice $2) { return quote_isVoice } } } return false } ;; ############# nrg_ban - Bans a user from using the system by adding their user@host to the list of banned users. ;; NOTE: This command will overwrite nrg_allow so the user will no longer be able to use the script. alias nrg_ban { if ($1 !ison $chan) { nrg_stdo quote_nickNotFound_inChan $me $1 $chan } else { .guser nrg_banned $1 1 } } ;; ############# nrg_allow - Explicitly allows a user to use the quote script, even if they aren't an op or voice ;; NOTE: This command will overwrite nrg_ban so the user will regain access to use the script. alias nrg_allow { if ($1 !ison $chan) { nrg_stdo quote_nickNotFound_inChan $me $1 $chan } else { .guser nrg_allowed $1 1 } } ;; ############# Enable/Disable - These commands allow you to enable or disable the script alias nrg_disable { set %nrg_disabled true } alias nrg_enable { unset %nrg_disabled } ;; ____________________________________________________________________________________________________ ;; _________________________________________ CHANNEL COMMANDS _________________________________________ ;; ____________________________________________________________________________________________________ ;; ############# AddQuote Commands - Commands associated with adding quotes to a database alias nrg_addquote { if ($2 == $null) { nrg_stdo quote_invalidAddQuote $me $1 | halt } ;; COMMENT: Make sure if a new file is created that it does not start with a number. That would mess up everything! Halt if this is the case. if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { if ($2 isnum) { halt } else { write $mircdirquotesdb\ $+ $1 $+ .txt $2- | return quote_Added | halt } } ;; COMMENT: Make sure current quote does not already exist $read($mircdirquotesdb\ $+ $1 $+ .txt,s,$2-) if ($readn == 0) { write $mircdirquotesdb\ $+ $1 $+ .txt $2- return quote_Added } else { return quote_Exists } } on *:TEXT:!addquote*:#:{ if ($len($2) > 15) { halt } var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($2 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value = $nrg_addquote($2,$3-) if (%return_value == quote_Exists) { nrg_stdo quote_Exists $nick $2 } else if (%return_value == quote_Added) { nrg_stdo quote_Added $nick $2 $3- } } } ;; ############### Quote - Commands associated with retrieving a quote from a local database (text file) ;; $1 = nick alias nrg_quote { if ($1 == $null) { nrg_stdo quote_invalidQuote $me $1 } if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { return quote_noneExist } else { if (%nrg_quoteline_ [ $+ [ $1 ] ] >= $lines($mircdirquotesdb\ $+ $1 $+ .txt)) { unset %nrg_quoteline_ [ $+ [ $1 ] ] } inc %nrg_quoteline_ [ $+ [ $1 ] ] var %nrg_currentQuote [ $+ [ $1 ] ] $read($mircdirquotesdb\ $+ $1 $+ .txt, %nrg_quoteline_ [ $+ [ $1 ] ] ) return $readn %nrg_currentQuote [ $+ [ $1 ] ] $chr(40) $+ $rand(1,100) $+ $chr(41) } } on *:TEXT:!quote*:#:{ var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($2 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value = $nrg_quote($2) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $nick $2 | halt } else { nrg_stdo quote_outputQuote $chan $2 %return_value } } } on *:INPUT:#:{ if ($1 == !quote) { var %return_value = $nrg_quote($2) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $me $2 | halt } else { nrg_stdo quote_outputQuote $chan $2 %return_value halt } halt } } ;; ############# nrg_stdo - This command consolidates all standard messages so that they can be easily modified from one spot. ;; $1 $2 $3 $4 ;; syntax: nrg_stdo <error_id> <recipient nick> <requested nick> (optional)<extra text> alias nrg_stdo { var %error_id = $1 var %recipient_nick = $2 var %requested_nick = $3 if (%recipient_nick == $me) { .alias /nrg_output .echo -a $chr(36) $+ 1- } else if (%recipient_nick ischan) { .alias /nrg_output /msg %recipient_nick $chr(36) $+ 1- } else { .alias /nrg_output .notice %recipient_nick $chr(36) $+ 1- } if ($1 == quote_addAllow) { nrg_output Added %requested_nick to the allowed list } else if ($1 == quote_addBan) { nrg_output Added %requested_nick to ban list! } else if ($1 == quote_Added) { nrg_output Successfully added quote: < $+ %requested_nick $+ > $4- } else if ($1 == quote_deleted) { nrg_output Deleted Quote $chr(35) $+ $4 for %requested_nick $+ : $5- } else if ($1 == quote_Exists) { nrg_output That quote already exists for %requested_nick $+ ! } else if ($1 == quote_invalidAddQuote) { nrg_output 4An invalid call was made to addquote. The correct syntax is /nrg_addquote <nick> <quote> } else if ($1 == quote_invalidQuote) { nrg_output 4An invalid call was made to quote. The correct syntax is /nrg_quote <nick> } else if ($1 == quote_invalidRemQuote) { nrg_output 4An invalid call was made to remquote. The correct syntax is /remquote <nick> <quoteid> } else if ($1 == quote_nickNotFound_inChan) { nrg_output Unable to find %requested_nick in $4 } else if ($1 == quote_noneExist) { nrg_output Database for %requested_nick does not currently exist! } else if ($1 == quote_notFound) { nrg_output Quote ID $4 not found for %requested_nick $+ ! } else if ($1 == quote_outputQuote) { nrg_output Famous quotes from %requested_nick $+ : ( $+ $chr(35) $+ $4 $+ ) $5- } else if ($1 == quote_remAllow) { nrg_output Removed %requested_nick from the allowed list } else if ($1 == quote_remBan) { nrg_output Removed %requested_nick from ban list! } .alias /nrg_output } ;; ############### RemQuote - Commands associated with removing quotes ;; $1 = nick ; $2 = quoteid alias nrg_remquote { if ($2 == $null) { nrg_stdo quote_invalidRemQuote $me $1 | halt } else { if (!$exists($mircdirquotesdb\ $+ $1 $+ .txt)) { return quote_noneExist } if ($lines($mircdirquotesdb\ $+ $1 $+ .txt) < $2) { return quote_notFound } else { var %quote $read($mircdirquotesdb\ $+ $1 $+ .txt,$2) .write -dl $+ $2 $mircdirquotesdb\ $+ $1 $+ .txt if ($lines($mircdirquotesdb\ $+ $1 $+ .txt) == 0) { .remove $mircdirquotesdb\ $+ $1 $+ .txt } ;; COMMENT: Remove database if nothing exists in the file return quote_Deleted %quote } } } on *:TEXT:!remquote*:#:{ var %status [ $+ [ $nick ] ] $nrg_checkStatus($nick,$chan) if ((%status [ $+ [ $nick ] ] != false) && ($3 != $NULL) && (%status [ $+ [ $nick ] ] != quote_isBanned)) { var %return_value $nrg_remquote($2,$3) if (%return_value == quote_noneExist) { .nrg_stdo quote_noneExist $nick $2 } else if (%return_value == quote_notFound) { .nrg_stdo quote_notFound $nick $2 $3 } else if (quote_deleted isin %return_value) { .nrg_stdo quote_deleted $nick $2 $3 $right(%return_value,-13) } } }
-
on *:INPUT:#:set $+(%,idle,$cid) $ctime | if ($away) away on *:INPUT:?:set $+(%,idle,$cid) $ctime | if ($away) away on *:PING: { if ($away) return if ($calc($ctime - $(,$+(%,idle,$cid))) > 600) { away auto-away after $duration($v1,3) idle } }
-
Okay, just an updated version of my previous away...
make sure you set the variable %p password here
and change your nick to what you want
type /a then put your away reason then when you're back type /bon 1:input:*:{ IF ($1 == /a ) { set %away.reason $$1 if %away.reason == $null { set %away.reason %default } nick PUT AWAY NAME HERE amsg Away: %away.reason away %away.reason halt } ELSEIF ($1 == /b ) { nick PUT ACTIVE NAME HERE pass PUT PASS HERE amsg Back: %away.reason /Time: $Duration($awaytime) away halt } else { return } }
-
Well, people DID make votekick snippets, but I decided to post my own :x
Well this one is a bit more advanced. There is no !votekick, there is just !vote kick. Now the difference is that !votekick is one command, while !vote kick can be changed to !vote ban, etc. so there is one command, but more functions. I hope you understand. For now there is only kick.
REQUIREMENTS:
-You must be an OP (if you're not, the vote will be cancelled)
-The nick you specify MUST be in a channel (if not, it will be automaticly cancelled)
-You can't call a vote from ANY channel until one vote ends. (Example you call the vote from #engineers and someone else calls a vote from #nexus and for #nexus it says that a vote is underway in #engineers)
-You can vote with !pgup and !pgdn
Well, I tried to make the code clean. As you can see you can modify the code so there is an option for kickban too.
Well, you might see that I'm not THAT great with coding. This code will be updates as I add more features and functions. This is some sort of an alpha stage. For future plans I am planning on adding cancelling votes, changing votes from yes to no, customizing vote time (I wanted to do that, but variabled messed me up) and of course, more functions like mute (requires +m, if user rejoins he will be automaticly devoiced), kickban (customize your own time up to the time the OP allows).set %voteon2 off on *:TEXT:!vote*:#: { if ($2 == $null) || ($3 == $null) || ($2 != kick) { /msg $chan Incorrect usage. halt } if ($me isop $chan) { } else { /msg $chan I am not an OP here. halt } if ($3 ison $chan) { } else { /msg $chan $3 is not in $chan halt } if (%voteon2 == off) { } elseif (%voteon2 == on) { /msg $chan There is already a vote called in %chanvote halt } if ($3 isop $chan) { /msg $chan $3 is an OP. halt } set %voteon2 on set %votetype $2 set %votename $3 /callvote } alias -l callvote { if (%votetype == kick) { /votekick halt } } alias -l votekick { set %chanvote $chan msg $chan $nick has called a vote to kick %votename . You have 15 seconds to vote. /timer 1 15 voteresult } alias -l voteresult { if (%voteon2 == off) { set %voteon2 0 set %vyes 0 set %vno 0 unset %voted halt } if (%vyes > %vno) { /msg %chanvote Vote passed! kick %chanvote %votename Vote passed. } else { /msg %chanvote Vote failed! } /timer 1 2 /msg %chanvote Results: %vyes people voted yes; %vno people voted no set %voteon2 off set %vyes 0 set %vno 0 unset %voted } on *:TEXT:!pgup*:#: { if (%voteon2 == off) { /msg $chan There is nothing to vote for. halt } if ($istok(%voted,$address,32)) { notice $nick You have already voted. halt } /msg $chan $nick votes yes inc %vyes 1 %voted = $addtok(%voted,$address,32) } on *:TEXT:!pgdn*:#: { if (%voteon2 == off) { /msg $chan There is nothing to vote for. halt } if ($istok(%voted,$address,32)) { notice $nick You have already voted. halt } /msg $chan $nick votes no inc %vno 1 %voted = $addtok(%voted,$address,32) }
-
ok so this is my first script for chanserv commands its a dialog box put in remotes access it via menubar nicklist or the channel window let me know if you like it. updated it the first one had to be closed out to be used on each site cause it would only work on the site it was opened on. i fixed that problem though
.Venom Chanserv system. .Coded By. .Ryan. Menu Menubar,Nicklist,Channel { Chanserv System .VenomChanservSys: dialog $iif($dialog(Chanserv.System),-v,-md Chanserv.System) Chanserv.System } Dialog Chanserv.System { Title "VenomChanservSystem" Size -1 -1 279 90 Option dbu ;-----Mod Controls Tab 100 Tab "+ Mod " ,100, 02 02 130 22, tab 100 edit "enter nick ", 101, 02 29 41 10, autohs tab 100 Button "voice" 102, 02 40 41 15, flat tab 100 edit "enter nick", 103, 02 62 41 10, autohs tab 100 button "devoice ", 104, 02 74 37 15, flat tab 100 edit "enter nick ", 105, 50 29 41 10, autohs tab 100 Button "op " 106, 49 40 37 15, flat tab 100 edit "enter nick ", 107, 50 62 41 10, autohs tab 100 button "deop ", 108, 49 74 37 15, flat tab 100 edit "enter nick", 109, 97 29 41 10, autohs tab 100 Button "halfop " 110, 96 40 37 15, flat tab 100 edit "enter nick ", 111, 97 62 41 10, autohs tab 100 button "dehalfop ", 112, 96 74 37 15, flat tab 100 edit "enter nick ", 113, 145 29 41 10, autohs tab 100 button "kick ", 114, 145 40 37 15, flat tab 100 edit "enter nick ", 115, 145 62 41 10, autohs tab 100 button "protect ", 116, 145 74 37 15, flat tab 100 edit "enter nick ", 117, 190 29 41 10, autohs tab 100 button "deprotect ", 118, 190 40 37 15, flat tab 100 edit "pass then description ", 119, 190 62 41 10, autohs tab 100 button "reg room ", 120, 190 74 37 15, flat tab 100 edit "pass then email ", 121, 234 29 41 10, autohs tab 100 button "reg nick ", 122, 233 40 37 15, flat tab 100 edit "Drop what nick ", 123, 234 62 41 10, autohs tab 100 button "Drop nick ", 124, 233 74 37 15, flat tab 100 ;-----Roomowner Tab 200 Tab "+ Roomowner " ,200, 02 02 130 22, tab 200 edit "enter nick ", 201, 02 29 41 10, autohs tab 200 Button "addvop" 202, 02 40 41 15, flat tab 200 edit "enter nick", 203, 02 62 41 10, autohs tab 200 button "delvop ", 204, 02 74 37 15, flat tab 200 edit "enter nick ", 205, 50 29 41 10, autohs tab 200 Button "addhop " 206, 49 40 37 15, flat tab 200 edit "enter nick ", 207, 50 62 41 10, autohs tab 200 button "delhop ", 208, 49 74 37 15, flat tab 200 edit "enter nick", 209, 97 29 41 10, autohs tab 200 Button "addaop " 210, 96 40 37 15, flat tab 200 edit "enter nick ", 211, 97 62 41 10, autohs tab 200 button "delaop ", 212, 96 74 37 15, flat tab 200 edit "enter nick ", 213, 145 29 41 10, autohs tab 200 button "addsop ", 214, 145 40 37 15, flat tab 200 edit "enter nick ", 215, 145 62 41 10, autohs tab 200 button "delsop ", 216, 145 74 37 15, flat tab 200 } on *:dialog:Chanserv.system:sclick:102:{ if (!$did(101).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv voice $active $did(101).text } } on *:dialog:Chanserv.system:sclick:104:{ if (!$did(103).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv devoice $active $did(103).text } } on *:dialog:Chanserv.system:sclick:106:{ if (!$did(105).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv op $active $did(105).text } } on *:dialog:Chanserv.system:sclick:108:{ if (!$did(107).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv deop $active $did(107).text } } on *:dialog:Chanserv.system:sclick:110:{ if (!$did(109).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv halfop $active $did(109).text } } on *:dialog:Chanserv.system:sclick:112:{ if (!$did(111).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv dehalfop $active $did(111).text } } on *:dialog:Chanserv.system:sclick:114:{ if (!$did(113).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv kick $active $did(113).text } } on *:dialog:Chanserv.system:sclick:116:{ if (!$did(115).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv protect $active $did(115).text } } on *:dialog:Chanserv.system:sclick:118:{ if (!$did(117).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv deprotect $active $did(117).text } } on *:dialog:Chanserv.system:sclick:120:{ if (!$did(119).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv register $active $did(119).text } } on *:dialog:Chanserv.system:sclick:122:{ if (!$did(121).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg nickserv register $did(121).text } } on *:dialog:Chanserv.system:sclick:124:{ if (!$did(123).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg nickserv drop $did(123).text } } on *:dialog:Chanserv.system:sclick:202:{ if (!$did(201).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv vop $active add $did(201).text } } on *:dialog:Chanserv.system:sclick:204:{ if (!$did(203).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv vop $active del $did(203).text } } on *:dialog:Chanserv.system:sclick:206:{ if (!$did(205).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv hop $active add $did(205).text } } on *:dialog:Chanserv.system:sclick:208:{ if (!$did(207).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv hop $active del $did(207).text } } on *:dialog:Chanserv.system:sclick:210:{ if (!$did(209).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv aop $active add $did(209).text } } on *:dialog:Chanserv.system:sclick:212:{ if (!$did(211).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv aop $active del $did(211).text } } on *:dialog:Chanserv.system:sclick:214:{ if (!$did(213).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv sop $active add $did(213).text } } on *:dialog:Chanserv.system:sclick:216:{ if (!$did(215).text) { noop $input(Please enter text in box,udho,Error!) } else { scid $activecid .msg chanserv sop $active del $did(215).text } }
-
Ok this is the result of me finding a new function on mIRC
So dont moan if i'm doing something wrong 🙂
I have found this useful if im using my browser.
You can turn it off easily and you can set how long the popup is
displayed for.
I know that its larger than you need!
When you are using the script for the first time type /p_reset
to set the default variables else it wont work.
I will change the script to work better over time!
Usage:
Turn off and on or set the timer via right-clicking.
Reply to a pm by double clicking the popup message.
Also when you have replied it will show the replied Popup,
double-clicking this will allow you to reply again,
Pm's to you from the same person will be stacked.
Please place all of the code in your remotes tab on a clean
remote 🙂
p.s. I prefer this to the built-in function for mIRC the built-in fucntion dont allow this amount of expandability 🙂
AND
Thanks to Allred58 and macs for helping me test it out 🙂
Also blackvenomm666, Jethro_ & napa182 for the script improvementson 1:TEXT:*:?:{ if (%popup) { set %p_nick $nick var %qtip $tip(PM, PM from $nick , $chr(91) $+ $time(hh:nn) $+ $chr(93) - $1- ,%ptimer,$mircexe,5,p_reply) } } menu channel,menubar,status { PM Popup .Turn popups $iif(!%popup,on,off): $+($iif(%popup,un),set) %popup on | echo PM Popup: Popups are $iif(%popup,$v1,off) .Set timer: set %ptimer $$?="How many seconds will the popup display for (3-60):" } alias p_reset { set %popup 1 set %ptimer 3 //echo PM Popup: PM Popups has been reset } alias p_reply { set %text $$?="Type a reply for %p_nick $+ :" msg %p_nick %text var %qtip $tip(reply, Reply to %p_nick , $chr(91) $+ $time(hh:nn) $+ $chr(93) - Replied to %p_nick " $+ %text $+ ",%ptimer,$mircexe,5,p_reply) unset %p_nick %text }
Downlods server clients
in News
Posted
So I've finally completed all downloads to section Server Clients.
A lot of old clients that i've never seen or even heard of, and then a lot of newer ones.
so enjoy and take a gander and see if you recall any of these server clients!! 😜