forked from spion/triplie-ng
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yaml
172 lines (135 loc) · 6.71 KB
/
config.yaml
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
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
124
125
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
#------------------------------------------------------------------------------
# Essential settings
#------------------------------------------------------------------------------
# You must modify most of these as the defaults are probably not what you want
# IRC server (default is freenode)
server: irc.freenode.net
# port (most servers can use 6667)
port: 6667
# channels to join after connecting
channels:
- '#triplie'
- '#triplie-ng'
# bot nickname, username, real name.
info:
nick: triplie-ng
user: triplie
name: triplie, the next generation
# set the password to use (optional, uncomment to enable)
#pass: password
# List of admin nick!user@host expressions
admins:
- '.+@unaffiliated/spion'
# At this point you are done, but if you want to configure aditional options,
# read below.
#------------------------------------------------------------------------------
# Extra settings
#------------------------------------------------------------------------------
# You don't have to modify these, but they're there if you need them
# command prefix character
cmdchar: '>'
# virtual host (IP address) to use. if left null the default will be used.
vhost: null
# path to the database file, relative to the config file
# you can also specify ":memory:" to use an in-memory database but the data
# will be lost after shutdown
db: triplie.db
# modules to load (dont remove the first 3 modules)
modules:
- triplie # core module
- admin # administrator commands (reload join part)
- read # URL reading commands (tell triplie to read all text from an URL)
# Comment out this module if you don't want logging
- log
# You may want to add your own modules here. Save a file called mymodule.js
# in the same directory with your config file, then uncomment the next line:
# - './mymodule.js'
# See https://github.com/spion/ircee for more info on how to write ircee
# modules.
#------------------------------------------------------------------------------
# AI settings
#------------------------------------------------------------------------------
ai: # These may take some explaining
associations: # Hebbian association network configuration
halflife: 10,
# The association will lose half of its value `halflife` days after it
# is last encountered in a sentence. Making this value lower will make
# the bot focus on recent events, while making it longer will cause it
# to recall older things more frequently
limit: 250
# Only take the best N associations for every sentence.
# Making this value larger will cause the bot to explore broader
# context while mamking it smaller will cause it to be more focused.
similars: # how the AI determines similar words
algorithm: porter
# What algorithm to use to determine similar words. The `"porter"`
# stemmer is recommended for English. Don't use `"levenshtein"` as its
# presently extremely slow - for unsupported languages its better to use
# `"none"`
language: en # stemmer language (en = english, ru = russian, es = spanish)
percent: 30 # maximum percentage difference for the levenshtein algorithm
keywords: # control how keywords are picked
threshold: 150
# How many times less frequent should a word be than the most frequent
# word in order for triplie to consider it "interesting". Helps remove
# stop-words from the input text such as "a", "of", "and" etc.
limit: 30
# Consider at most this many associated keywords when trying to form the
# reply. The best associated keywords are picked. Increasing this too
# much will cause triplie to say more irrelevant things, decreasing it
# too much will cause it to only say obvious things (at least in theory)
generalization: 50 # between 1 and 100
# Controls triplie's tendency for generalization. In theory, making this
# number closer to 100 will cause triplie to pick more general, typical
# topics while lowering it will cause it to pick less typical topics. Best
# left at 50
creativity: 75 # between 1 and 100
# Controls creative use of language. If increased to 100, triplie will
# often use words in contexts where they were never used before. When
# reduced, triplie will be more cautious when recognizing patterns. Setting
# it to 0 will cause triplie to never recognize patterns of word usage.
# For example, if triplie notices that the words "dog" and "cat" are used
# in "many" common n-grams it may use the n-grams of "dog" in addition to
# the n-grams of "cat" when forming a sentence that needs to contain the
# keyword "cat" `creativity` determines how many is "many". 100 means that
# 1 is enough, 50 that 5 are needed, 1 that 10 are needed and 0 that
# creativity is off.
love: # controls chance of replying to people
# This is simply the probability that triplie will respond to people.
# You can set the default and also set different settings for other
# nicknames to 0
default: 100 # between 1 and 100
for:
otherBot: 0 # also between 1 and 100
ngram: # markov chain engine control
length: 4
# The length of chains to use. Longer length results with more
# coherent sentences. Shorter length results with more sentences when
# there is less training data. Must be <= 5. Recommended value 4.
depth: 8
# When the algorithm is searching for the next keyword, limit the
# search depth in the n-gram graph to this number. Increasing this number
# results with exponential increase in the memory and time needed.
# Besides, too big of a value will result in low keyword density - the
# number of words between two keywords can go up to `depth`
sleep: [2, 5]
# Causes the bot to sleep between 2 and 5 seconds before answering. Makes
# it look more human.
answer: # controls answer length
minwords: 7 # minimum words to use in a sentence
minkeys: 2 # of those, minimum that should be keywords
partake: # control unsolicited reply (makes the bot reply even though its
# nickname is not in the message
probability: 0 # 0 to 100, 0 is no replies
traffic: 1
# the highest amount of total channel messages during the past
# minute that allow an unsolicited reply. 0 is no limit.
context: # controls how much previous context the bot takes when considering
# a reply
halflife: 150
# context half-dies every 150 seconds
others: 0.25
# context by people other than the talker is 4 times less important.
maxsize: 1
# use at maximum 1 lines of previous context. Increasing this currently
# results with serious memory usage, so don't do it.