-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
95 lines (68 loc) · 2.55 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
52
53
54
55
56
57
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
88
89
90
91
92
93
94
95
PySession
PySession is a Django/Twisted-daemon combo. A managed IRC bot allows
whitelisted users to execute python interactively in chat. If the
output is not too long it will be displayed in the chat. Otherwise a
link is provided to the Django based pastebin. The pastebin can also
be used publicialy via the web interface, however it does not feature
code execution.
Dependencies:
Python 2.5
Twisted 8.1
Django 1.3.0 b1
chardet
Pygments
Installation:
#Checkout the PySession source into your web-directory:
cd /var/www
git clone git://github.com/dustinlacewell/PySession.git pysession
# link django admin media to right place
cd pysession/static/
ls -s /usr/lib/python2.5/site-packages/django/contrib/admin/media/ admin
# setup local_settings.py
cd ../
cp local_settings.example local_settings.py
emacs local_settings.py
[... edit local_settings.py accordingly ...]
# setup apache virtual host
cp apache-vhost.example /etc/apache2/sites-available/pysession
emacs /etc/apache2/sites-available/pysession
[... edit pysession vhost accordingly ...]
# Sync the database
python manage.py syncdb
[... setup administrative user ...]
# give apache rights to things
chown -R www-data:www-data static/
chown -R www-data:www-data media/
# if using sqlite
chown www-data:www-data database.sql
# enable the vhost
a2ensite pysession
/etc/init.d/apache2 restart
# Try out the site!
http://subdomain.example.com/
# Start the python bot
cd pysessiond/
twistd -noy run.tac
Bot Management:
Once the bot has signed into NickServ and joined the channel, you will
want to log into NickServ yourself and go into the channel with the
bot. Since the bot has no whitelisted nicks, you will imprint into the
bot with the first ident command:
<ldlework>: .ident
Check that you have succssfully gained whitelist membership:
<ldlework>: .admins
<TheSession>: [ldlework]
Bot Commands:
.ident # get the bot to notice you
.admins # print the whitelist
.timeout <seconds> # how long temp whitelisted members last for
.mktmp <nickname> # add nickname to whitelist temporarily
.mkadmin <nickname> # permanently add nickname ot whitelist
.rmadmin <nickname> # remove a nickname from the whitelist
.move <channel> # move bot to named channel
.home # return bot to local_settings.py channel
.reset # reset repl environment (globals, locals, etc)
.redent <python code> # execute python code written on one line
>>><python code>
...<python code> # Multiline python code
... # empty line to finish block