-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathpalaver.tac
66 lines (45 loc) · 1.57 KB
/
palaver.tac
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
from twisted.words.protocols.jabber import jid, client
from twisted.application import internet, service
from twisted.internet import interfaces, defer
from twisted.python import usage, log, reflect
from twisted.words.xish import domish, xpath
try:
from twisted.words.protocols.jabber.component import IService
except:
from twisted.words.protocols.jabber.ijabber import IService
from twisted.words.protocols.jabber import component
from zope.interface import Interface, implements
from palaver import pgsql_storage
from palaver import palaver
from palaver import muc
application = service.Application("palaver-chat")
# set up Jabber Component
sm = component.buildServiceManager('chat.localhost', 'secret',
("tcp:127.0.0.1:5347" ))
# Turn on verbose mode
palaver.LogService().setServiceParent(sm)
st = pgsql_storage.Storage(user='muc',
database='muc',
hostname=None,
password=None,
port=None,
apitype='psycopg2'
)
sadmins = ['admin@localhost'
]
bs = muc.groupchat.GroupchatService(st)
bs.sadmins = sadmins
c = IService(bs)
c.setServiceParent(sm)
bsc = muc.groupchat.RoomService()
bsc.sadmins = sadmins
bsc.create_rooms = 1
bsc.setServiceParent(bs)
IService(bsc).setServiceParent(sm)
bsc = muc.groupchat.AdminService()
bsc.setServiceParent(bs)
bsc.sadmins = sadmins
IService(bsc).setServiceParent(sm)
s = palaver.PalaverService()
s.setServiceParent(sm)
sm.setServiceParent(application)