- minor: add support for ROOMSTATEs
- minor: fix userstates, hopefully for good
- minor: add support for sending reply threads
- fix: whispers
- major: rewrote the entire IRC parser
- major: added tests
- major fix:
channels_connected
will now have channels removed from it and no duplicates should be generated
- minor: Reformat moderation.py
- minor: Add a missing pair of parenthesis
- Fix bug to do with duplicate messages.
- Make avoiding duplicate messages work. Currently cannot disable this functionality or change the character.
- smol bugfix
- fix spam reconnect bug
- addition: whisper commands
- minor fix: Make all
Message
s be imported into__init__
- minor addition: new
available_in_whispers
parameter for theCommand
constructor and forBot.add_command()
- minor addition:
WhisperMessage
s will now "quack" likeChannelMessage
s, addedchannel
,user
properties
- minor change:
_arun
will nowawait asyncio.sleep(0)
to give control to tasks in the background - minor change: username and password will now be stored in memory when calling
Connection.login()
- minor change: change a couple type hints
- minor addition: new
clone()
andclone_and_send_batch()
methods inConnection
- minor addition: new
raw_data
field in allMessage
s that stores the raw data received from the server - minor change: better
__repr__
forMessage
- minor change: delete old parsing code.
- major addition: new
UserstateMessage
- major change: better reconnecting,
- minor addition: you can now return lists from commands, any object that can be sent will be,
- minor addition: new 'reconnect' middleware action, called when reconnecting,
- major change:
AbstractMiddleware
now doesn't inherit fromabc.ABC
, to make it easier to add new events, - minor fix:
ModerationContainer.format_channel_mode()
crashed when run, now it doesn't, - minor addition: new
moderate()
method forConnection
s andBot
s, - minor change:
ModerationContainer
s can now not target a user and message, - minor fix:
ModerationContainer.timeout()
now supports anint
as the timeout length.
- major addition: async support,
- major addition: allow returning values from commands to send them,
- major addition: simple moderation features,
- minor addition: messages now have a link to the connection they came through,
- minor change: middleware will now ignore unknown events
- major addition: docs,
- major addition: middleware,
- minor: logging changes
- major: changes in how Message s work.
- minor: patterns in MESSAGE_PATTERN_DICT are now compiled.
- minor: add shell.py a simple module to make experimenting easier.
- Added secure option to
Connection
. - Added
RECONNECT_MESSAGE_PATTERN
andReconnectionMessage
. - Implemented automatic reconnection in
Bot
, here and here - Added automatic escaping of
/
and.
toChannelMessage.reply
- Add docstrings to messages.py.
- Changed repr of Message.
- Added WhisperMessage.
- Added a scheduler to Bot.
- Added matcher_function field to Command.
- Fixed a bug in
Connection.__init__
not registering the atexit close handler. - Changed regexes.
- changed version number to 1.1,
- added required_permissions to Bot.add_command,
- fixed a minor comment mistake (Bot line 129),
- changed Bot.send() to automatically pick the queue,
- changed docstrings in connection.py,
- tweaked some regexps,
- added the GlobalNoticeMessage and UsernoticeMessage classes (UsernoticeMessage has not pattern attached to it),
- removed some commented-out code,
- added
__dict__
to PermissionList, - changed all stock commands to use the required_permissions argument in bot.add_command, instead of twitchirc.require_permission