mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-29 14:12:38 +01:00
8587c3cd4f
from being translated/spoken
606 lines
21 KiB
Plaintext
606 lines
21 KiB
Plaintext
* Added supybot.plugins.Babelfish.disabledLanguages, to disable
|
|
certain languages from being translated/spoken.
|
|
|
|
* Added supybot.reply.maximumMores, to give users the ability to
|
|
set the maximum number of "more" chunks replies will generate.
|
|
|
|
* Added supybot.reply.truncate, to turn off the normal chunking
|
|
of replies that later can be retrieved with the more command.
|
|
Setting this variable to On means that no chunks will ever be
|
|
created.
|
|
|
|
* Added supybot.plugins.Enforcer.takeRevengeOnOps, which makes
|
|
the bot even take revenge on #channel,ops who try to violate the
|
|
channel configuration. Of course, such people can change the
|
|
channel configuration to their bidding, but it's a decent
|
|
protection against errant botscripts or something.
|
|
|
|
* Added supybot.plugins.Channels.alwaysRejoin, to make the bot
|
|
always rejoin when it's kicked.
|
|
|
|
* Added supybot.databases.users.hash, allowing those running bots
|
|
to specify the default hashed/unhashed state of user passwords in
|
|
the config file.
|
|
|
|
* Added Debian.bug, which retrieve bug info from Debian's BTS.
|
|
|
|
* Changed Relay.names to Relay.nicks, to be consistent with
|
|
Channel.nicks.
|
|
|
|
* Added supybot.brackets, a configuration variable for specifying
|
|
which set of matching brackets to use for nested commands. Valid
|
|
values are [] (the default), {}, <>, and ().
|
|
|
|
* Added a configuration variable to ChannelLogger, timestamp,
|
|
which determines whether the bot will timestamp its logfiles.
|
|
This is a channel-specific variable, of course.
|
|
|
|
* Updated ChannelLogger not to log messages starting with
|
|
[nolog], in order to allow private information to remain private.
|
|
|
|
* Added a configuration variable to ChannelLogger,
|
|
flushImmediately, to cause all channel logs to be flushed every
|
|
time they're modified, for those people who like to read the logs
|
|
through tail -f or something similar.
|
|
|
|
* Updated WordStats to allow removing of tracked words.
|
|
|
|
* Updated Seen.seen to accept no arguments and return the last
|
|
message spoken by anyone.
|
|
|
|
* Updated the Herald plugin to use the standard substitute until
|
|
we get it updated to use commands as heralds instead of plain
|
|
strings.
|
|
|
|
* Updated echo to use the standard substitute on its reply.
|
|
|
|
* Updated Network.whois so that it can now retrieve
|
|
information on all domains.
|
|
|
|
* Updated the Weather plugin to be retrieve weather from either
|
|
hamweather.net or cnn.com. Also added
|
|
supybot.plugins.Weather.{command,temperatureUnit} so that you can
|
|
specify which command (Weather.cnn or Weather.ham) to use when
|
|
Weather.weather is called and in which unit (C, F, K) to report
|
|
the weather.
|
|
|
|
* Updated standard replies (such as supybot.replies.success, etc.)
|
|
to use the standard substitute (such as $nick, $who, $channel,
|
|
etc.) in their text.
|
|
|
|
* Fixed snarfers to respect lobotomies.
|
|
|
|
* Fixed Admin.join not to add the channel to the supybot.channels
|
|
registry entry if joining the channel wasn't successful.
|
|
|
|
2004-02-20 Jeremy Fincher <jemfinch@supybot.org>
|
|
|
|
* Version 0.77.0!
|
|
|
|
* Changed the format of the user and channel databases to
|
|
something much more readable and user-editable. Be sure, if
|
|
you're upgrading, to run tools/ircdbConvert.py on your user and
|
|
channel databases *BEFORE* installing the new version.
|
|
|
|
* Updated almost every document we have, and added a
|
|
GETTING_STARTED document. Yay!
|
|
|
|
* Added several new options for Channel.kban: --exact, --nick,
|
|
--user, --host, for more flexibility in determining what the
|
|
banmask is.
|
|
|
|
* Added a Scheduler plugin for scheduling events to occur at
|
|
specific times.
|
|
|
|
* Added a Herald plugin for announcing to the channel the arrival
|
|
of certain users.
|
|
|
|
* Changed the reply method of the irc object given to plugins not
|
|
to require a msg object.
|
|
|
|
* Added inter-factoid references for MoobotFactoids. Simply
|
|
define a factoid as "see <factoid-key>" (and nothing else) and it
|
|
will automatically go pick up the value for that factoid and
|
|
display it in its place. Sort of a "symlink" for MoobotFactoids.
|
|
|
|
* Added the ability to reply to factoids without the "whatis" in
|
|
the Factoids plugin. Now, you can use "@foo" instead of "@whatis
|
|
foo".
|
|
|
|
* Added --{from,to} and --sent options to Note.sent.
|
|
|
|
* Changed Note.get to simply be "note". Instead of "note get
|
|
145", you should use "note 145".
|
|
|
|
* Changed channel capabilities to use a comma to separate the
|
|
channel from the capability instead of a period. This is because
|
|
channels can include periods (but not commas) and since we now
|
|
allow "plugin.command" capabilities, there's no way to know
|
|
whether a given dot is separating the channel from the capability
|
|
or the plugin from the command.
|
|
|
|
* Removed Admin.setprefixchar, since it's unneeded with the new
|
|
configuration.
|
|
|
|
* Removed Status.bestuptime, since it was buggy and no one felt
|
|
like maintaining it.
|
|
|
|
* Added Http.cyborg, a fun little command for getting cyborg
|
|
abbreviations for names.
|
|
|
|
* Added Sourceforge.totalbugs and Sourceforge.totalrfes
|
|
|
|
* Removed Owner.{set,unset} since they matter not.
|
|
|
|
* Made the smileys and frowns configurable in ChannelDB.
|
|
|
|
* Added a vast array of new configurables -- check out the various
|
|
config commands in Configurable plugins to see.
|
|
|
|
* Added better error reporting for Admin.join, explaining to the
|
|
user if the bot can't join the channel.
|
|
|
|
* Added a title-snarfer to the URL plugin.
|
|
|
|
* Added Relay.command, a command for sending commands to the bot
|
|
on a different network.
|
|
|
|
* Added Bugzilla.search, a new command for searching a bugzilla
|
|
installation
|
|
|
|
* Added an INVITE handler in Admin, allowing users with the admin
|
|
capability to INVITE the bot to a channel. There's also a config
|
|
variable, alwaysJoinOnInvite, that will cause the bot to join
|
|
a channel whenever someone invites it to a channel, not just users
|
|
with the admin capability.
|
|
|
|
* Added conf.requireChannelCommandsToBeSentInChannel for requiring
|
|
all channel-related commands to be sent in the channel.
|
|
|
|
* Added conf.followIdentificationThroughNickChanges for having the
|
|
bot update user's identified hostmask when they change nicks.
|
|
|
|
* Added conf.replyWhenNotAddressed, a configuration variable for
|
|
having the bot always attempt to parse a message as a command.
|
|
|
|
* Added conf.replyWhenAddressedByNick, a configuration variable
|
|
for having the bot *not* respond when addressed by his nick.
|
|
|
|
* Added conf.replyWithNickPrefix, a configuration variable for
|
|
having the bot not prefix the nick of the person giving a command
|
|
to the reply.
|
|
|
|
* Changed all "zegrep" stuff to "zgrep -e" stuff, since zegrep is
|
|
on fewer platforms than zgrep.
|
|
|
|
2003-12-12 Jeremy Fincher <jemfinch@supybot.org>
|
|
|
|
* Version 0.76.1! The birthday release!
|
|
|
|
* Fixed a bug in irclib.py that could cause the bot to loop,
|
|
connecting and disconnecting from the server because it didn't
|
|
think the server responded to its PING.
|
|
|
|
* Fixed a bug in the Services implementation that could cause
|
|
the bot to continually loop, connecting and disconnecting from the
|
|
server.
|
|
|
|
* Fixed Misc.help to follow the same default plugin rules that the
|
|
rest of the bot follows.
|
|
|
|
* Added better error reporting to Admin.join, so the various error
|
|
conditions that might make the bot incapable of joining a channel
|
|
will be reported.
|
|
|
|
* Updated RootWarner to be configurable, offering each channel the
|
|
ability to define whether or not people who IRC as root will be
|
|
warned, what that warning will be, and whether or not they should
|
|
be kicked.
|
|
|
|
* Added a configurable 'topic-sync' to the Relay plugin to
|
|
determine whether the topics of the two channels should be kept
|
|
synchronized.
|
|
|
|
* Added Lookup.search for searching the various loaded lookups.
|
|
|
|
* Added Topic.reorder, a new command for reordering the topics in a
|
|
specific manner.
|
|
|
|
* Added Topic.list, a new command for listing the topics in a
|
|
channel (mostly in order to help out with Topic.reorder :))
|
|
|
|
* Added Http.extension, a new command to retrieve file extension
|
|
information from filext.com.
|
|
|
|
* Updated Todo.remove to allow removing multiple taskids
|
|
|
|
* Updated Relay.whois to include a user's away status and identified
|
|
state, if the server supports it.
|
|
|
|
* Added utils.sorted, which does what list.sorted will do when 2.4
|
|
is released.
|
|
|
|
* Added ircutils.isCtcp, for determining whether or not a message
|
|
is a CTCP message.
|
|
|
|
2003-12-6 Jeremy Fincher <jemfinch@supybot.org>
|
|
|
|
* Version 0.76.0!
|
|
|
|
* Added a "trusted" capability that defaults to off (-trusted) and
|
|
is required for Utilities.re (with which it's possible to DoS the
|
|
bot) and for the new Math.icalc (with which it is trivially
|
|
possible to DoS the bot).
|
|
|
|
* Added Math.icalc, a new command for doing integer arithmetic.
|
|
It requires the "trusted" capability.
|
|
|
|
* Added the Fun.ping command, because MozBot has it.
|
|
|
|
* Added Note.unsend command, to allow users to "unsend" notes
|
|
they've sent but whose recipient has not yet read.
|
|
|
|
* Added Channel.{deop,devoice,dehalfop,kick}.
|
|
|
|
* Added Http.size and Http.doctype and Http.headers to retrieve
|
|
various meta-information on URLs.
|
|
|
|
* Added a ranking to ChannelDB.wordstats.
|
|
|
|
* Added Karma.most for determining various "mosts" in the Karma
|
|
database.
|
|
|
|
* Added User.list command to list registered users.
|
|
|
|
* Added 'roulette' command to Fun plugin.
|
|
|
|
* Added a Channel.lobotomies command to list the channels in which
|
|
the bot is lobotomized.
|
|
|
|
* Added a swap function to Math.rpn.
|
|
|
|
* Changed the name of User.changeusername to User.changename.
|
|
|
|
* Changed the logging infrastructure significantly; each plugin
|
|
now has its own logger (and thus logfile), in addition to being
|
|
logged in the main logfile.
|
|
|
|
* Fixed bug in which the bot wouldn't rejoin channels after a
|
|
reconnect. Thank the Lord for tcpkill :)
|
|
|
|
* Fixed Http.freshmeat for projects with a space in their names.
|
|
|
|
* Changed RSS so RSS feed commands may be added while the bot is
|
|
running, and so added RSS feed commands are in the RSS plugin.
|
|
|
|
* Changed Lookup so added lookups are added in the Lookup plugin
|
|
itself so there's no dependency on Alias, and so loaded lookups
|
|
can be seen via 'list Lookup'.
|
|
|
|
* Fixed bug #850931 as well as several other minor bugs in
|
|
Utilities.re.
|
|
|
|
* Fixed bug #851254, Factoids.whatis didn't work on numeric keys.
|
|
|
|
* Added the ability to turn on/off the showing of ids in FunDB
|
|
excuse/insult/praise/lart.
|
|
|
|
* Added the to= keyword argument to the various reply functions to
|
|
you can specify a target to send the message to.
|
|
|
|
* Changed socketDrivers to allow more time (10x more, to be exact)
|
|
for connecting to the network than for the normal read.
|
|
|
|
* Fixed a bug in Http.weather that would cause an ugly error
|
|
message for a command like "weather hell".
|
|
|
|
* Added the number of strings to the Fun.object output.
|
|
|
|
* Fixed bug in RSS.configure; no aliases could be added.
|
|
|
|
* Changed Alias.freeze to Alias.lock.
|
|
|
|
* Fixed sorting in Status' uptime database.
|
|
|
|
* Updated the Gameknot tests for expired games, and updated the
|
|
Gameknot plugin to handle such links in its snarfer.
|
|
|
|
* Added a 'server' attribute to Irc objects to unify the way to
|
|
access such information.
|
|
|
|
* Added revision command for finding out the revision of the files
|
|
in a running bot; also added __revision__ strings so CVS would be
|
|
happy to keep such information for us :)
|
|
|
|
* Fixed bug #848475 -- bad error message from regexp-expecting
|
|
commands.
|
|
|
|
* Stopped listing the plugin dispatcher command in the list of
|
|
commands for that plugin.
|
|
|
|
* Fixed bug in Gameknot.gkstats when retrieving the stats for
|
|
users who haven't yet played a game.
|
|
|
|
* Added a numUsers() method to ircdb.UsersDB (ircdb.users).
|
|
|
|
2003-11-18 Jeremy Fincher <jemfinch@users.sf.net>
|
|
|
|
* Changed commands so that plugins no longer have to make sure
|
|
that their commands are unique within the bot. Ambiguous commands
|
|
will reply with an error message and instruct the user to
|
|
disambiguate the command by prefixing with the appropriate plugin
|
|
name.. Many commands that formerly contained the plugin name (or a
|
|
portion thereof) have had it removed, and many plugins have had
|
|
their names changed so prefixing a command with the plugin name is
|
|
less bulky. Rather than list each individual example, you can
|
|
read the plugin documentation posted at ***TODO***
|
|
|
|
* Renamed numerous plugins: OwnerCommands became Owner,
|
|
AdminCommands became Admin, ChannelCommands became Channel,
|
|
MiscCommands became Misc, UserCommands became User, URLSnarfer
|
|
became URL, Notes became Note, FunCommands became Fun, IMDB became
|
|
Movies, and Aliases became Alias.
|
|
|
|
* Made aliases persistent across reloads/bot restarts. You should
|
|
probably change your botscripts not to add the aliases onStart, but
|
|
(assuming those aliases don't change) it should still work fine.
|
|
|
|
* Added the ability for users to specify that their passwords
|
|
should be hashed on disk.
|
|
|
|
* Added MoobotFactoids plugin for moobot-style factoids (which are
|
|
meant to mimic blootbot-style factoids). People used to
|
|
traditional IRC bot factoids plugins will probably find this
|
|
plugin more to their taste than Factoids.
|
|
|
|
* Added Ebay plugin for snarfing eBay URLs as well as getting info on
|
|
certain auctions.
|
|
|
|
* Added monitoring of occurrences of certain words on a per-user
|
|
basis, adding two new commands to ChannelDB (addword and
|
|
wordstats).
|
|
|
|
* Added Bugzilla module for accessing various data in Bugzilla
|
|
pages.
|
|
|
|
* Added QuoteGrabs module which allows people to grab interesting
|
|
quotes from other people and store them in the bot for later retrieval
|
|
(also optionally have the bot randomly snarf quotes).
|
|
|
|
* Added a "change" command to change factoid values in the Factoids
|
|
plugin.
|
|
|
|
* Added Dunno plugin as an optional replacement for the boring 'no
|
|
such command' response.
|
|
|
|
* Changed FundB to allow accessing excuses, larts, and praises by
|
|
id.
|
|
|
|
* Added substitutions for 'me' and 'my' in insult/praise/lart.
|
|
|
|
* Added 'change' and 'old' commands for News.
|
|
|
|
* Added ASPN Python Cookbook URL snarfer.
|
|
|
|
* Moved karma out of ChannelDB and into its own Karma plugin.
|
|
|
|
* Moved uptime-related commands to from FunDB to the Status plugin.
|
|
|
|
* Renamed the Network.internic command to whois, since we can now fix
|
|
ambiguity by prefixing the plugin name.
|
|
|
|
* Removed the "googlesite" function.
|
|
|
|
* Removed "dictserver" command in favor of using the Configurable
|
|
framework with the Dict plugin instead.
|
|
|
|
* Removed TwistedCommands plugin to the sandbox; the one command
|
|
it provided (dict) is now better provided in the Dict plugin.
|
|
|
|
* Removed the Moobot plugin (the commands were moved to the Fun
|
|
plugin or dropped entirely).
|
|
|
|
* Removed all example strings from plugins. To be replaced with an
|
|
automated process later.
|
|
|
|
* Converted several plugins to the new Configurable plugin type
|
|
Plugins modified include Bugzilla, ChannelDB, Dict, Ebay,
|
|
Enforcer, Gameknot, Google, Python, Relay, and URL (formerly
|
|
URLSnarfer).
|
|
|
|
* Changed ChannelDB database to use integer user ids instead of text
|
|
usernames.
|
|
|
|
* Changed Http.geekquote to use multiline geekquotes (and removed
|
|
the option to do so, since it's now the default).
|
|
|
|
* Added a --id switch to geekquote to pick a specific geekquote.
|
|
|
|
* Changed most commands in News to require the 'news' capability.
|
|
|
|
* Changed Relay.names output to show (and sort by) status in the
|
|
channel.
|
|
|
|
* Removed 'relaycolor' command in favor of Configurable framework.
|
|
|
|
* Added total memory usage to 'cpustats' output for several *nix
|
|
platforms.
|
|
|
|
* Removed the total percentage of CPU time from 'cpustats'. Not
|
|
only was it inaccurate, but we needed the room for memory stats.
|
|
|
|
* Changed Topic.shuffle to ensure that the topic is actually
|
|
shuffled.
|
|
|
|
* Changed all commands which take an index (various Topic and
|
|
Factoids commands) to index from 1 instead of 0.
|
|
|
|
* Fixed several bugs in Unix.spell whereby the bot could be
|
|
frozen.
|
|
|
|
* Changed the name of the "bug" command in the AdminCommands
|
|
plugin to "reportbug" instead.
|
|
|
|
* Added QUIT stat-keeping to ChannelDB.
|
|
|
|
* Removed the OwnerCommands.say command; it wasn't useful enough,
|
|
and is so easily written that anyone can have it back if they want
|
|
it.
|
|
|
|
* Changed OwnerCommands.load (and reload) to be case-insensitive,
|
|
so "load funcommands" works just as well as "load FunCommands".
|
|
|
|
* Changed the keyword parameter "needed" to privmsgs.getArgs to be
|
|
"required" instead. It just sounds better, works with "optional"
|
|
better, and we won't get an oppurtunity later to change it.
|
|
|
|
* Updated IrcObjectProxy.reply to allow a "notice" boolean keyword
|
|
to determine whether or not to reply via a notice.
|
|
|
|
* Added privmsgs.urlSnarfer, a wrapper around snarfer methods that
|
|
handles both the threading and the limiting of replies so loops
|
|
between two snarfing bots can't happen.
|
|
|
|
* Added structures.PersistentDictionary for dictionaries that
|
|
should be saved to a file in repr()ed form.
|
|
|
|
* Added structures.TwoWayDictionary for dictionaries that should
|
|
map keys to values and vice versa.
|
|
|
|
* Added a curry function to fix.py for doing currying (if you
|
|
don't know what it is, don't worry about it :))
|
|
|
|
* Added utils.depluralize to do the opposite of utils.pluralize.
|
|
|
|
* Added utils.safeEval for safe evaluation of Python data
|
|
structures (lists, dictionaries, tuples, numbers, strings, etc.,
|
|
but no operations on them).
|
|
|
|
* Added utils.saltHash for handling the hashing of passwords with
|
|
a salt.
|
|
|
|
* Added plugins.standardSubstitute to do standard substitutions
|
|
for things like $who, $nick, $channel, etc.
|
|
|
|
* Added plugins.Configurable, a plugin mixin that allows easy
|
|
specification and persistence of configurable data on a global and
|
|
per-channel basis.
|
|
|
|
* Fixed plugins.ChannelDBHandler (and added plugins.DBHandler) to
|
|
be threadsafe, so threaded plugins could still use a database, and
|
|
non-threaded database-using plugins could still receive the
|
|
results of a threaded command.
|
|
|
|
* Removed ircutils.privmsgPayload and ircutils.shrinkList, both of
|
|
which existed prior to the addition of more, and aren't needed
|
|
anymore.
|
|
|
|
|
|
2003-10-12 Jeremy Fincher <jemfinch@users.sf.net>
|
|
|
|
* Version 0.73.1!
|
|
|
|
* Fixed a bug in Math.{calc,rpn} where certain functions
|
|
("degrees" in particular) that didn't like complex arguments would
|
|
fail on numbers on which they shouldn't.
|
|
|
|
* Added an optional "key" argument to ChannelCommands.cycle.
|
|
|
|
* Fixed bolding in supybot-wizard.py.
|
|
|
|
* Fixed handling of the secure flag by ircdb.IrcUser.setAuth;
|
|
previously it didn't prevent someone with an unmatched hostmask
|
|
from identifying.
|
|
|
|
* Fixed imports in the DCC plugin.
|
|
|
|
* Fixed a bug where the bot would not reply to nick-addressed
|
|
messages on a channel if his nick wasn't entirely lowercased.
|
|
|
|
* Fixed the Relay plugin to relay topic changes; an oversight not
|
|
caught earlier because supybot has for a long time managed our
|
|
topics.
|
|
|
|
* Fixed a bug in the Services plugin where the bot would ghost
|
|
himself if his nick didn't match in case the nick given.
|
|
|
|
* Added the ability for PrivmsgCommandAndRegexp to have regexps
|
|
that are called *after* callbacks.addressed has been called on the
|
|
message -- see ChannelDB.{increase,decrease}Karma for an example.
|
|
|
|
* Fixed bug in supybot-wizard.py where plugins without configure
|
|
functions would raise an uncaught exception.
|
|
|
|
* Fixed debincoming to work since the removal of baseplugin; it
|
|
was missing an import.
|
|
|
|
* Fixed MiscCommands.doPrivmsg to send an IrcObjectProxyRegexp to
|
|
the replyWhenNotCommand function.
|
|
|
|
* Fixed debversion to display the correct output when no matching
|
|
packages were found.
|
|
|
|
* Fixed ChannelDB to import conf; karma didn't work otherwise.
|
|
|
|
* Fixed a bug in the Enforcer plugin that would cause the bot to
|
|
ban everyone from the channel whenever ChanServ deopped someone.
|
|
|
|
* Changed the "whois" command in the Network plugin to "internic"
|
|
instead.
|
|
|
|
2003-10-05 Jeremy Fincher <jemfinch@users.sf.net>
|
|
|
|
* Version 0.73.0!
|
|
|
|
* Added the News plugin, news handling for channels.
|
|
|
|
* Changed the initial character of anti capabilities to '-'
|
|
instead of '!'. '!' can be the initial character in a channel
|
|
name, and so any command using getChannel and accepting a
|
|
capability as its first argument (several in ChannelCommands) will
|
|
have difficulties (the channel then *must* be specified since
|
|
getChannel will consider !capability to be a channel name). Note
|
|
that this means you'll need to either remove and re-create or edit
|
|
your config files to change ! to - in capabilities.
|
|
|
|
* Removed the "cvsup" command; it's been useless since we had a
|
|
global install, and can only serve to confuse.
|
|
|
|
* Added a "private" command to MiscCommands to allow users to
|
|
specify that a response should be made in private.
|
|
|
|
* Added a "secure" flag to user database records that *requires*
|
|
that one of the user's hostmasks match if the user is to be
|
|
recognized. This flag may be set with the "setsecure" command.
|
|
|
|
* Added a convert command to the Math plugin. More conversions
|
|
are necessary, if anyone's interested in doing it. The available
|
|
units are available via the "units" command.
|
|
|
|
* Fixed the pydoc command to allow access to standard Python
|
|
modules that are shared libraries rather than pure Python code.
|
|
|
|
* Added a "Python" plugin and moved FunCommands.{pydoc,zen} to
|
|
it.
|
|
|
|
* Fixed the supybot- scripts to use optparse so they now
|
|
accept many command line options (but most importantly, the --help
|
|
option :))
|
|
|
|
* Added a debincoming command to the Debian plugin; it searches
|
|
the available packages at http://incoming.debian.org/
|
|
|
|
* Moved the "bug" command from MiscCommands to AdminCommands in
|
|
order to prevent possible abuse.
|
|
|
|
* Changed ChannelDB.seen to default to using nicks; a --user
|
|
option can be passed to use the old behavior. Note that this
|
|
means you'll have to update your ChannelDB database; use this
|
|
SQL statement to do so:
|
|
CREATE TABLE nick_seen (
|
|
name TEXT UNIQUE ON CONFLICT REPLACE,
|
|
last_seen TIMESTAMP,
|
|
last_msg TEXT
|
|
);
|
|
|