Age | Commit message (Collapse) | Author |
|
|
|
Default mIRC colors are 0-15, and some clients don't react too well to a
color > 15, while most wrap or default. Konversation, for example, will
stop the color command parsing and interpret it as color 1, followed by
the literal digit 6.
So use the 'official' (mIRC) value of 0 for white.
|
|
|
|
This is used to tell apart colloquial messages to the bot ("botname,
do this") from classic bot-style interface ("!do this").
|
|
|
|
|
|
|
|
|
|
+ (reply) symbol to bypass the config option
* (plugins) fixed url according to the patch
The symbols are:
:to => :public force the message to be replied in channel (if any)
:to => :private force the message to be replied in private
:to => :auto takes core.private_replies (default)
|
|
Message#reply() now accepts a :reply option
:nick => false don't prefix nick
:nick => true prefix nick
:nick => :auto take core.reply_with_nick (default)
|
|
This reverts commit b6bd9a24014ac9fbc822e9051f216f0506f24cd5
"message.rb: fix message addressing logic" since it actually breaks the
validity for address? in a number of cases.
Instead, add proper @address setting to NickMessage which is the only
one getting it wrong presently.
|
|
IRC messages which are not PRIVMSG or NOTICE (i.e. not UserMessage) are
'addressed' to the bot when they originate from it.
Rather than putting this logic in each one of them (and forgetting about
it for some, e.g. NICK messages), put it in BasicUserMessage. Compensate
by always setting @address in UserMessage to test against target
instead.
|
|
The bot now exposes a whois(nick) method to make WHOIS queries to the
server. The extended syntax whois(nick, server) is also supported,
allowing another server to be queried (this is useful to retrieve info
which is only available on nick's server, such as idle time and signon
date).
Most if not all RFC-compliant replies are handled, although some of the
data received is currently ignored. Non-RFC extended replies such as
nickserv identification status are not hanlded yet, since they are
highly server-specific, both in numeric reply choice (e.g. 307 vs 320)
and in reply message syntax and meaning.
A new WhoisMessage is also introduced, for plugin delegation. The source
is the originating server, the target is the user for which information
was requested. A #whois() method is provided holding all retrieved
information.
|
|
After CTCP parsing, @plainmessage was not defined correctly (as it still
contained the CTCP command), and @plainmessage and @message were not
being cleaned up correctly.
This manifested itself e.g. with spurious \001ACTION and other strange
unusual byte sequence popping up in markov-generated text.
Fix by redefining @plainmessage and @message appropriately in CTCP
handling.
|
|
|
|
|
|
When a server has IDENTIFY-MSG, we would expect identification in any
PRIVMSG or NOTICE, even on those generated from the bot. This caused
lots of spurious warnings, and would lead to mislogging when a
bot-generated message started with + or -.
Fix this by only handling IDENTIFY-MSG on server-generated messages.
|
|
|
|
|
|
Rather than stripping colors all around and keeping other format codes,
we only strip initial and final formatting before parsing the message.
We store the original, unstripped message in #logmessage() and a
fully stripped copy of the message in #plainmessage()
This means that most plugins will now have full formatting of arguments
preserved, while stupid IRC usage of formatting whole lines will not
interfere with bot usage. Plugins that need a fully stripped version of
the message can still access it.
|
|
|
|
m.in_thread indicates that the caller of delegate is in thread (and is handled by
not creating another thread for m's mapped action)
|
|
this specifies whether the message handler is to be threaded, and overrides the map
option if non-nil.
|
|
unfo- or jsn-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
can contain [ ] | etc
|
|
|
|
|
|
When logging messages, it is appropriate to remove color and identification prefixes (in networks that support it), but not the address prefix.
Solve this by saving a copy of the message without the address prefix(es) removed, and use it in irclog*() methods.
|
|
|
|
|
|
retrieve the associated BotUser and its data
|
|
source
|
|
to CTCP PING and TIME commands in basics
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|