Index
Services
About
Projects
Personal
Contact
Orvp
Orvp
Nav

The following XChat scripts are free to use as you see fit, as long as you don't claim them as your own.*

  • Edit Topic
    • Version: 1.3
    • Description: Change the input field to the current topic, including color codes
    • Usage: /edittopic
    • Download: edittopic.pl
  • textualdynambot
    • Version: 009.01
    • A Reaction Script
    • This is a means of easily creating rules for things to do and replies to make based on what is said in channels or private messages. No knowledge of Perl is required to cause XChat to reply to specific lines, or regular expressions said either by privileged users, people who are not privileged, anyone, or users within specific channels/networks.
    • This is a fork of thermodynambot by b0at, with bug fixes, and feature additions.
    • Full documentation (also included in zip): README
    • Download: textualdynambot-009.01.zip
  • Ctrl Tab Control
    • Version: 004
    • Date: 2010-07-07
    • Allow for ctrl-tab between channels in the order you last viewed them. If ctrl is not released between tabs, the order will continue to go backwards, and your last viewed item won't update until after ctrl is released.
    • Ctrl-shift-tab will move through the same order, just in reverse order.
    • Ctrl-space will move to the channel with the most recent activity that you have not seen yet. Priority is given to private messages and highlights.
    • Download: ctrltabcontrol-004.pl
  • Ignore Chan CTCP
    • Version: 002
    • Description: Do not use internal handling of CTCP events directed at channel rather than user. Meaning if a user in the channel does /ctcp #channel version, XChat will not respond. Effective against attack bots trying to flood users off on channels.
    • By default, you will still see the ctcp request, XChat just won't respond. The script explains how to hide the CTCP as well.
    • Download: ignorechanctcp.pl
  • CAP to CAPAB
    • Version: 001
    • Description: Allow XChat to treat CAP :identify-msg as the CAPAB IDENTIFY-MSG that works in XChat up through 2.8.6. CAP has more features than just identify-msg, but this script bridges the gap until a new version of XChat is released with full CAP support.
    • identify-msg allows lines to start with a + if the user is identified, and a - if they are not, which XChat interprets as irc_id_ytext and irc_id_ntext.
    • Download: cap_to_capab.pl
  • Mass Highlight Ignore
    • Version: 004
    • Description: Convert highlight events to normal events if more than a set number (4) nicks are present in the highlight line. All alerts will behave as if the message were normal, reducing beeps, highlight sounds, popups, flashing items on the screen, and tab color.
    • If a user does a typical /names spam in channel, the user will be ignored, and the current message will be replaced with the following (to show that this is the case):
    • <spammername> <this /names spammer has been ignored: *!*@their.host.or.ip>
    • Note: Version 004 fixes an issue where the tab color would change, yet still is efficient in how it does that.
    • Download: masshighlightignore-004.pl
  • Mass /names Spam Ignore
    • Version: 002
    • Ignore users who join a channel and spam the contents of /names to the channel.
    • The method detected is fairly limited for efficiency, so may not catch all cases, but is adequate for a current set of attacks.
    • If a user does a typical /names spam in channel, the user will be ignored, and the current message will be replaced with the following (to show that this is the case):
    • <spammername> <this /names spammer has been ignored: *!*@their.host.or.ip>
    • Note: This is a subset of Mass Highlight Ignore
    • Download: massnamesspamignore-002.pl
  • URL Title Say
    • Version: 005
    • Description: Parse through incoming lines for URLs, saying the titles of the url when available. Keep a list of channels to reply in, as well as URLs and Titles not to say.
    • Requires a newer Perl "threads" module. The version that comes with Perl 5.8 is not new enough, however the version distributed with Perl 5.10 is.
    • Requires LWP and YAML Perl Modules
    • Download: urltitlesay-005.pl
  • Duplicate Enter
    • Version: 0.1
    • Description: Allows Shift+Enter OR Ctrl+Enter to behave the same as a normal Enter
    • Usage: Shift+Enter OR Ctrl+Enter
    • Download: duplicateenter.pl
  • Notify Query
    • Version: 0.1
    • Description: Sends notice messages to a query tab if a query is already open for the user in question, only when tab_notices is true
    • Usage: /set tab_notices on (one time only, may not be needed if already set)
    • Download: noticequery.pl
  • Chan Saver
    • Version: 1.1b
    • Description: Allows for Channel Specific settings to be retained (Beep on Message, Show Joins/Parts, Color paste, Blink Tray on Message). Can set default settings based on network, tab name, or both.
    • Note: This script isn't needed in XChat 2.8.6 or newer.
    • Usage: Creates Menu Interface. Only one command of /chansaver refresh that doesn't have a menu option. This command re-applies the settings to all open tabs.
    • Download: chansaver-1.1b.pl
  • Show Highlight
    • Version: 3.3
    • Date: 2011-08-30
    • Description: Show highlighted messages in a seperate tab. Messages will be displayed as if sent from the user, however will be appended with "/#channelname".
    • Starting in version 1.2, XChat 2.8.2 or newer is required (plays better with some other scripts)
    • New in 3.3:
      • %timestamp% variable for output
      • Ability to put the nick in the message portion of output
    • New in 3.2:
      • Allow tab of highlight to change to some other color
    • New in 3.1:
      • The highlight tab may now be the actual server tab
    • New in 3.0:
      • The highlight tab wil never take the focus away from you
      • New nick_format and msg_format variables which allow for more control of channel formating, as well as the addition of the connected network for when shared_tab is used. The channel and network can now be added to both the appearance of the nick, as well as before or after the message body.
    • Example: A tab named "highlight" will be created (can be renamed in config) that will either catch all highlights from all networks, or may be set to seperate the networks. In this tab, it will be filled with lines:
      • <someuser/#channel> Hey yournick, how are you?
      • * +voiceduser/#channel violently slaps yournick
    • Download: showhighlight-3.3.pl
  • Show All Channels
    • Version: 001
    • Description: Show all messages from all channels in a separate tab. Messages will be displayed as if sent from the user, however will be appended with "/#channelname".
    • Behavior is much the same as Show Highlight
    • Example: A tab named "all chans" will be created (can be renamed in config) that will either catch all channel messages and actions from all networks, or may be set to seperate the networks. In this tab, it will be filled with lines:
      • <someuser/#channel> This doesn't look right
      • <@yournick/#mychannel> Hey george, get over here
      • * +voiceduser/#channel violently slaps yournick
    • Download: showallchannels-001.pl
  • Status Color
    • Version: 0.3
    • Description: Change the color of usernames in channels based on channels status (op, voice, etc)
    • Download: statuscolor-0.3.pl
  • Simply Glyphed
    • Version: 1.0
    • Theme for XChat Text Event that uses Unicode symbols, but only looks good using certain fonts.
    • Main Page: simplyglyphed.php
  • Rand Slappy
    • Version: 0.7
    • Random !slap script, uses configuration to define different triggers (!slap, !stab, !eat, etc.) for different channels. Script also includes flood control on a per channel basis to try and limit abuse of the triggers. In the configuration you can specify channels to run the trigger in, and channels to ignore.
    • Slap script is designed for random replies, from random forms of responses to random objects to slap with which pulls from a plain text file. Example configuration and explanation included in zip.
    • Usage: !slap target
    • Usage: /slappy slap someoneelse
    • Download: randslappy-0.7.zip
  • Mass KB
    • Version: 004
    • Mass Kick, Kick Ban, Remove, or Remove Ban a group of users in a channel using a consistant message. May provide a list of nicks to the script (accepting wildcards), or let script kick all nicks that are selected in the user list.
    • You can also add user buttons below the nick list for one stop shopping.
    • Usage:
      • /gkickb - Kick Ban all selected users in the list.
      • /gkickb nick1 nick2 - Kick Ban a provided list of users.
      • /gkick - Kick all selected users in the list.
      • /gkick nick1 nick2 - Kick a provided list of users.
      • /gkick -r "Reason Here" nick1 nick2 - Kick while providing a reason.
      • /gremove -r "Reason" nick1 - Remove by providing a reason.
      • /gremove nick1 nick2 :Reason Here - Another syntax to do the same.
      • /gremoveb :Reason Here - Remove and ban all users selected in the userlist while providing a reason.
      • /kb_reason Kick Reason - Set the default reason.
    • Download: masskb-004.pl
  • Do At
    • Version: 002
    • Perform an arbitrary command on multiple channels or contexts. List can be specific to networks, or any context on a separate network.
    • Usage:
      • /doat [channel,list,/network] [command]
      • /doat /FreeNode,/Efnet [command] - Perform [command] on FreeNode and Efnet
      • /doat ABot say hello - Message the user "ABot" the string "hello" only if a dialog window is opn
    • Download: doat-002.pl
  • Do Op
    • Version: 002
    • Run the rest of the command only as op, and use ChanServ to attempt to get op if op already not obtained, then do the command.
    • Usage:
      • /doop [{+|-}{v|o|h|q|b} <nick or mask>> [-d[<seconds>]] <command> - Op yourself with chanserv, run a command
    • Download: doop.pl
  • DCC Auto Manage
    • Version: 003
    • Manatain a list of nicks to auto accept DCC files from. When files are completed that match a specified pattern, move the file to a pre-defined directory.
    • All configuration is handled within XChat. No need to modify configuration files by hand.
    • Usage: /autoaccept [-q] <add|del|clear|list> [<nick>+] - manage the list of nicks to auto accept DCCs from
    • Usage: /automove [-q] <set|del|clear|list> [<pattern>] [<path>] - manage the list of paths to move DCC transfers to
    • Usage: /autoset [-q] <variable_name> [<value>] - Modify variables as used by DCC Auto Manage
    • Download: dccautomanage-003.pl
  • Limit Maintain
    • Version: 001
    • Maintain the limit on a channel (+l) to be a few more than what is currently in, but not allow a bunch of users at once to join flood the channel.
    • Script is setup to allow a bit of flexibility with the intent of requiring fewer mode changes. If the limit is currently close to what it would be set to, no mode change is made. This range can be anything from 0 to the size of your ceiling, although you may not like that behavior.
    • Configuration is done in the .pl files at the top with explanation of settings.
    • Download: limitmaintain-001.pl
  • Names Join
    • Version: 001
    • Print the list of users in the channel buffer when joining a channel. Normally XChat hides this and instead relies on the user list. This is the output you would get by typing /names
    • No configuration or commands needed.
    • Download: namesjoin-001.pl
  • Ban With Nick
    • Version: 001
    • Create a /banwnick <nick> command to ban nick!*@*.domain
    • Usage: /banwnick <nick>
    • Download: banwithnick-001.pl
  • Channel Highlight
    • Version: 0.3
    • Date: 2010-06-26
    • Specify additional highlight words on a per channel basis
    • Configuration is done in file and requires a bit of regular expression knowledge.
    • Download: channel_highlight-0.3.pl
  • Channel Balloon
    • Version: 002
    • Show balloon messages for specific channels. These balloons are similar to the ones enabled by Settings -> Preferences -> Show tray balloons on.
    • Only works if you have the built in plugin tray enabled.
    • Usage: just have it loaded
    • Configuration: Done in the script file. Modify the @watchlist to include a list of specific channels you want the alerts in, lower case.
    • Download: channelballoon-002.pl
  • Chan Notice Tab
    • Version: 004
    • Description: Creates a tab for all channel notices with auto reply to notice destination
    • Notices will be split up into status notices as well, so receiving a /notice @#channel will be in a different tab from /notice #channel and /notice +#channel (op notice, all users, and voice and higher respectively). Typing a reply in the query box will result in sending a reply notice to the same users.
    • Usage: normal replies written in the created tab will also send notices
    • Download: channoticetab-004.pl
  • Group Private
    • Version: 001
    • Description: Group Private Messages in one window
    • Private messages will only show up if gui_auto_open_dialog is off
    • Download: groupprivate-001.pl
  • Greet On Chan
    • Version: 002
    • Description: Say a message when someone joins a list of channels
    • Message will be randomly chosen from a list and won't be sent to users who are regulars
    • Channel list, regular list, and greeting messages must be edited in the script file
    • Download: greetonchan-002.pl
  • Ignore Chan Voices
    • Version: 002
    • Description: Ignore voices that are given and removed in specific channels
    • Channel list must be edited in the script file. Replace the '#channel1' and '#channel2' with your list of channels. Copy these lines to ignore voices in more channels.
    • Download: ignore_chan_voices-002.pl
  • Ignore User Channel
    • Version: 001
    • Description: Ignore all messages from a specific user only when said in specific channels
    • Only ignores based on nick, not based on host mask
    • Download: ignore_user_channel.pl
  • Multi Line Catch
    • Version: 002
    • Description: Restrict multi line pastes. If more than 3 lines, don't allow text to go through on first enter (will go through after warning and another enter).
    • Download: multilinecatch-002.pl
  • No Channel Highlight
    • Version: 001
    • Description: Do not highlight messages that are found in preset channels
    • Channels are specified within the script file
    • Download: nochannelhighlight-001.pl
  • Notify Highlight
    • Version: 002
    • Description: Turn Notify Online and Notify Offline into demi-highlights. This will cause any alerts that are set for highlights to happen when someone on the Friends List comes online or goes offline.
    • Download: notifyhighlight-002.pl
  • Say Ignore
    • Version: 001
    • Description: Say what your ignore list is in the channel. You can specify what items to say in the list, based on ignore type.
    • Usage: /sayignore [private|notice|channel|ctcp|invite|dcc], send list of ignores to channel
    • Download: sayignore-001.pl
  • Server Notice JQ
    • Version: 001
    • Description: Separates Server Notices for Join and Part as seen by Undernet IRCOPS
    • Script has no use for non ircops, as most people don't see the notices when a user joins and quits the network.
    • If the user is G-lined, the quit message does not change tabs
    • Download: servernoticejqtab.pl
  • Show /mode Date
    • Version: 001
    • Description: Show the channel creation time when doing /mode on a channel you aren't on
    • There is an explicit check to see if you are on the specified channel in the source. If you aren't, XChat eats the creation time and only displays the modes. This short script alows you to see the creation time.
    • Download: showmodedate.pl
  • Temp Conv
    • Version: 001
    • Description: Convert temperatures locally between Celsius, Fahrenheit, Kelvin, and Rankine
    • Usage: /tempconv <From Temp>[CKFR] [CKFR]
    • Examples:
      • "/tempconv -10 C R" > "-10C = 473.7R"
      • "/tempconv 30F to C" > "30F = -1.111C"
    • Download: tempconv.pl
  • Voice All
    • Version: 001
    • Description: Voice everyone in a channel who isn't voice already
    • A one second delay is done between each set of voices so as to not flood
    • Usage: /vall
    • Download: voiceall-001.pl
  • /whosave
    • Version: 003
    • Description: Do a who on the channel or user and save the output to a file
    • Usage: /whosave <target> [<filename.ext>], saves output to either "target.txt" or "filename.ext" in your profile directory.
    • Download: whosave-003.pl
  • Show All
    • Version: 002
    • Description: Create a /showall command that re-shows all hidden windows. Also, if all tabs were previously hidden (such as in the tray), when one is displayed, the rest will be as well (can be disabled).
    • Usage: /showall, un hide all hidden query and channel windows.
    • Download: showall-002.pl
  • Event to Server Tab
    • Version: 001
    • Description: Redirect any defined text event to the server tab.
    • Configuration: Create a "eventtoservertab.conf" in your XChat profile directory in plain text. Add all events you wish to redirect to this file, one event per line. Use the event name as listed in Settings > Advanced > Text Events.
    • Usage: /eventtoservertab, reload Event to Server Tab hooks.
    • Download: eventtoservertab-001.pl
  • Notice no alert
    • Version: 001
    • Date: 2010-07-04
    • Description: Make notices not follow "Private Message" alert rules. All options will be as if turned off.
    • Download: notice_no_alert-001.pl
  • Why Banned
    • Version: 004
    • Date: 2013-07-12
    • Description: Determine and list why a user is unable to join or speak on a channel. Designed to work with charybdis IRCd and derivitives to also check for extbans.
    • Ussage: /whybanned [--channel <#targetchannel>] [--verbose] --nick <nicknametocheck>
    • Ussage: /whybanned [-c <#targetchannel>] [-v] -n <nicknametocheck>
    • Ussage: /whybanned <nicknametocheck> - Checks why the provided nick is banned in the current channel
    • Download: whybanned.pl
  • Nick Error Location
    • Version: 002
    • Date: 2013-05-17
    • Description: Make the location for nick change errors more prominent than just where the error actually was (shows in server tab, current tab, and channel)
    • Download: nickerrorlocation.pl
  • Brian's ADvanced Adjust the Server-Side Ignore Alert Location Script
    • Version: 001
    • Date: 2013-04-21/li>
    • Description: Changes the notice location for when someone is in +g mode (Server-Side Ignore). The messages will now show up in the query tab you have with that user, if there is one. If there is no query tab, it will go into the front tab, if that tab is on the right network. If not, the message will show up in the server tab.
    • Download: badassials.pl
  • Nick to Primary
    • Version: 001
    • Date: 2013-05-05
    • Description: Set the nick to the primary nick for the network, even if defined in server list
    • Ussage: /nickprimary
    • Download: nick_to_primary.pl

* Scripts are (unless otherwise stated) licensed under the zlib license, which is summarized up top.


orvp.net is owned by Brian Evans
Don't kill me, or I will be mad!
It is better to throw a spear at a star and hit the ground than to throw a pipe bomb at a cat and hit your Uncle Melvin's Winnebago.