IRC

From Things and Stuff Wiki
Revision as of 18:58, 5 October 2019 by Milk (talk | contribs) (→‎Bots)
Jump to navigation Jump to search


General



  • https://en.wikipedia.org/wiki/Client-to-client_protocol - a special type of communication between Internet Relay Chat (IRC) clients. CTCP is a common protocol implemented by most major IRC clients in use today.[citation needed] CTCP extends the original IRC protocol by allowing users to query other clients or channels, this causes all the clients in the channel to reply the CTCP, for specific information. Additionally, CTCP can be used to encode messages that the raw IRC protocol would not allow to be sent over the link, such as messages containing newlines or the byte value 0 (NULL). CTCP does not establish a direct connection between clients; however, it is commonly used to negotiate DCC connections. CTCP allows users to query a remote client about the version of the client they are using (via CTCP VERSION), or the time (via CTCP TIME), among other things. It is also used to implement the /me command (via CTCP ACTION).


Culture

GUI clients

Hexchat

  • Hexchat - an IRC client based on XChat, but unlike XChat it’s completely free for both Windows and Unix-like systems. Since XChat is open source, it’s perfectly legal. For more info, please read the Shareware background. HexChat was originally called XChat-WDK which in turn was a successor of freakschat. For more info, please read the announcement.

Xchat

  • XChat - an IRC chat program for both Linux and Windows. It allows you to join multiple IRC channels (chat rooms) at the same time, talk publicly, private one-on-one conversations etc. Even file transfers are possible.

Dead enough, use HexChat instead.


ChatZilla

  • ChatZilla - a clean, easy to use and highly extensible Internet Relay Chat (IRC) client, built on the Mozilla platform, which provides all the usual features: multiple servers, a built-in list of standard networks, easy searching and sorting of available channels, logging, and DCC chat and file transfers, plus easy customization with JavaScript plug-ins and CSS styling.

KVIrc

  • KVIrc - a free portable IRC client based on the excellent Qt GUI toolkit. KVirc is being written by Szymon Stefanek and the KVIrc Development Team with the contribution of many IRC addicted developers around the world.

Loqui

  • Loqui - IRC Client for Gtk2

Konversation

  • Konversation - a user-friendly Internet Relay Chat (IRC) client built on the KDE Platform.


Smuxi

  • Smuxi - an open-source, powerful, flexible, and user-friendly chat client created by Mirco Bauer and developed by other contributors. Inspired by the combination of screen and irssi, Smuxi has a detachable server (or like a "normal" client) that stays connected when you aren't, and can allow multiple Smuxi frontends (like the GNOME frontend, or STFL text-based frontend) to be connected and in sync. This is similar to screen+irssi or IRC bouncers, but more elegant and powerful.

Quassel

  • Quassel IRC - a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. In addition to this unique feature, we aim to bring a pleasurable, comfortable chatting experience to all major platforms (including Linux®, Windows®, and MacOS X® as well as Android smartphones), making communication with your peers not only convenient, but also ubiquitous available. [2]



.config/quassel-irc.org/settings.qss
Palette {
  /* Link colors */
  link: #ff79c6;
  link-visited: #bd93f9;
}



Microsoft Comic Chat

CLI clients

Irssi

set timestamp_format %H:%M:%S
/server ADD -auto -network freenode irc.freenode.net 6667
/channel ADD -auto #channel NetworkName password

Stuff



Guides

Weechat

Installation

Usage

Alt+←/→ or F5/F6
  # switch to previous/next buffer

F7/F8
  # switch to previous/next window (when screen is split)

F9/F10
  # scroll title bar

F11/F12
  # scroll nicklist

Tab
  # complete text in input bar, like in your shell

PgUp/PgDn
  # scroll text in current buffer

Alt+a
  # jump to buffer with activity (in hotlist)

Ctrl-r
  # Search buffer (enter to esc.)

alt-k [key]
  #display key and binding
/save
  # save settings madeee=
/server add oftc irc.oftc.net/6667
/connect oftc
/set irc.server.serverprofile.ssl_verify off
   #disable ssl verify for serverprofile
/set irc.look.server_buffer independent
  # server as separate buffer from main weechat buffer
/input jump_smart
  # jump to next buffer with activity
/input hotlist_clear
  # clear activity
/set irc.look.color_nicks_in_nicklist on
/script install colorize_nicks.py

/set weechat.color.chat_nick_colors "22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201"
  # add more colours
/key bind meta2-18~ /bar scroll buffers * -30%
  # bind F7 to buffers.pl up
/key bind meta2-19~ /bar scroll buffers * +30%
  # bind F8 to buffers.pl down
/set irc.look.smart_filter on 
/filter add irc_smart * irc_smart_filter *
  # http://dev.weechat.org/post/2008/10/25/Smart-IRC-join-part-quit-message-filter

Scripts

/script install colorize_nicks.py

/script install buffers.pl
 # lists buffers (status, channel, etc.) in a sidebar

/set weechat.bar.buffers.position right
 # put buffer list to right

/script install autoconnect.py
  # remembers servers+channels joined
/script install urlbuf.py
  # buffer that logs all web addresses mentioned

/script install whois_on_query.py
  # automatic whois on starting/receiving a private msg

/script install go.py
  # jump to buffer

/script install sort_buffers.pl
# /set buffers.look.sort name
# /set buffers.look.sort name (window number order doesn't follow!)
/script install listsort.pl

Scripting

http://www.weechat.org/files/doc/stable/weechat_plugin_api.en.html#_weechat_config_color_default
weechat.color.chat_buffer [4]
python:
 you have to import weechat
 functions print* are called prnt* in python (because print is reserved keyword)
 functions are called with weechat.xxx(arg1, arg2, ...)
weechat.register(name, author, version, license, description, shutdown_function, charset) [5]
import weechat
weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", "")
weechat.prnt("", "Hello, from python script!")

Android

BitchX

EPIC

ii

  • https://github.com/c00kiemon5ter/iim - a complete rewrite of the original ii from suckless.org it started as a cleanup for ii's source code, then added some fixes. it ended up smaller, easier to understand and supporting more commands
  • https://github.com/c00kiemon5ter/iii - a frontend to ii/iim so that one can easily view and send messages. it outputs text, formatted, and colored, and allows for some configuration. options are passed as enviromental variables.

Other



Browser extension clients

Web clients

  • The Lounge - The self-hosted web IRC client. Always connected. It is run by a dedicated community as a fork of Shout.


Services

Some channels require a nickserv registered nick before joining. Thus, changing to an unregistered nick can give a "Cannot change nickname while banned on channel" message.

Chanserv:

set #channel secure on
  # restrict ops

set #channel keeptopic on
  # topic is persistent

set #channel guard on
  # chanserv will reside in channel
set #channel mlock on
  # restrict mode changes. also -c to allow colours.

Bouncer

ZNC

In most cases you should NOT edit znc.conf directly. Use webadmin instead. If you really need to edit znc.conf by hand, do the following:

pkill -SIGUSR1 znc
  # to save current runtime configuration to znc.conf
pkill znc
  # to shutdown running ZNC instance
  # Edit znc.conf
znc
  # to start it again with new configuration

Other

Servers

hub and leaf servers, mesh network. sordid history of de facto and flavours of amended protocol use.

ircd

RobustIRC

Bots
























  • Tenyks is a computer program designed to relay messages between connections to IRC networks and custom built services written in any number of languages. More detailed, Tenyks is a service oriented IRC bot rewritten in Go. Service/core communication is handled by Redis Pub/Sub via json payloads. [12]


  • DBot - an IRC bot which aims to be the fanciest IRC bot around - On the general standard of software fanciness, dbot is statistically rated as being '82% the same as bathing in fine, fine grape juice.'


  • http://errbot.net/ - GPL3-licensed chat-bot designed to be easily deployable, extensible and maintainable [13]









Logger

Other



  • Libircclient - a small but extremely powerful library which implements the client IRC protocol. It is designed to be small, fast, portable and compatible with the RFC standards as well as non-standard but popular features. It is perfect for building the IRC clients and bots.

Articles