Site Tools


using_epic_in_dumb_mode
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


using_epic_in_dumb_mode [2017/01/10 19:47] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +======Using EPIC in Dumb Mode======
 +
 +====What is dumb mode?=====
 +Dumb mode is a non-full screen interface, which you can turn on with the -d command line option.
 +In Dumb mode, EPIC reads from stdin, and writes to stdout.  This is suitable for use with external things, like screen readers.
 +You can do everything in dumb mode that you can do in full screen mode
 +
 +====How do I start the client in dumb mode?====
 +At the command line 
 +
 +    epic5 -d yournick irc.server.com
 +
 +Where you provide a nickname for "yournick" and you provide a server for "irc.server.com".
 +I am assuming you already know what server you want to connect to.
 +
 +====What if I need to use SSL?====
 +When you specify your server, you are actually supplying a bunch of colon separated fields.
 +You can specify multiple fields with their names
 +
 +   epic5 -d yournick irc.server.com:port=6697:type=IRC-SSL
 +   
 +Most SSL servers run on a different report (often 6697), and the only real magic here is "type=IRC-SSL".
 +That tells EPIC that the server at "irc.server.com:port=6697" uses SSL.
 +
 +====How do I do stuff when I log on to irc?====
 +The first thing you need to know is that you can give instructions to epic in your ~/.epicrc file.
 +The very first line of your ~/.epicrc file should be
 +
 +   load global
 +   
 +And then after that, can be anything you want (see the examples below)
 +
 +====How do I msg nickserv when i connect to irc?====
 +EPIC's programming language is event-driven.  You can hook these events and run code when they happen.
 +Each time you connect to a server, a "CONNECT" event is thrown.  You can hook it like this:
 +
 +   on ^connect "irc.server.com 6697 *" {msg nickserv auth user@host mypass}
 +
 +In this example, whenever you connect to an irc server named "irc.server.com" on port 6697, you want to
 +msg a service called "nickserv" with your nickserv credentials.  Naturally, you should change this to 
 +reflect the server's name and port you are using (on the command line).  You wouldn't want to msg a
 +bot on another network with your credentials!
 +
 +====How do I join a channel each time I connect to a server?====
 +You can set up multiple hooks for the same event, as long as they use different serial numbers.  Serial numbers
 +are a way that epic figures out what order to run them in.  There are shortcuts for this.
 +
 +   on #^connect + "irc.server.com 6697 *" {join #mychan}
 +   
 +Notice in this case, that before the word "connect" is a hash (#).  This hash tells epic that this hook will use
 +a serial number.  The serial number in this case is the plus (+) which is a magic serial number that means "pick 
 +an unused serial number for me that is greater than 0" By default, ONs will use serial number 0 (such as in our
 +first example).
 +
 +====How can I do something when someone says my nick?====
 +There is an event that is thrown whenever someone sends you any kind of a PRIVMSG (either a direct message, or a
 +message to a channel).  Additionally, your nickname is $N.  So you can create a hook that does something if either
 +of these two things is true
 +
 +   on #^general_privmsg - * {if ([$1] == N] || [$2-] =~ [*$N*]) {exec beep_my_terminal}}
 +   
 +There are two new things you see here.  In this case, we used the serial number '-' which means "pick any serial
 +number less than 0", and we have an /IF statement here.  This IF statement has two clauses -- one checks to see if 
 +$0 is your nickname (ie, it was sent to you), and the other checks to see if your nickname is contained in the message
 +(to pick up things like "yournick: ..." in a channel).  Whenever either of these two things is true, it will run the
 +body of the IF statement, which is an /EXEC.  /EXEC is how you run a shell command in epic.  Here we have it run the
 +"beep_my_terminal" shell command.  But you could have it do anything you want.
 +
 +
  
using_epic_in_dumb_mode.txt · Last modified: 2017/01/10 19:47 by 127.0.0.1