| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Opening a thread on a thread message is not possible, so the logical
thing to do if a user tries to reply to a thread message is to put the
message in the same thread as the message that is replied to.
Slack currently has a bug which causes thread messages to be converted
to normal messages if you try to reply to them (that is, send a message
with thread_ts set to the ts of the thread message), but the message you
reply with will end up in the original thread. I filed an issue and they
confirmed that it is a bug, and that you should not send messages with
thread_ts set to the ts of a thread message.
Fixes #751
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, the date tests of the last commit only work in one time
zone. This changes them to work in UTC. If your machine doesn't use UTC,
you now have to run the tests like this:
TZ=UTC pytest
I'm not sure what the best way to avoid requiring this is.
|
| |
|
| |
|
|
|
|
|
|
| |
Fallbacks in messages are not changed when channels/users/groups are
renamed, so they shouldn't be used unless the ref can't be found. Links
are not refs we look up, so they are still treated the same way.
|
|
|
|
|
| |
This is only used in tests and in render_topic, and I don't see why
render_topic shouldn't follow the global config that is set.
|
|
|
|
|
| |
This is only used in tests, and there we can override the config
instead.
|
|
|
|
|
|
|
|
|
| |
When new replies come in over websocket, we don't update the
message_json of the parent message with the new replies, we just append
the new message to the submessages list. Therefore, the
number_of_replies function has to check both of these and take the max.
Fixes #722
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is for channels which initially were public, but then are changed
to private. They look the same as groups (channels initially created as
private) in the official clients, but can only be used with the
conversations api. They are listed in the channels list of rtm.start
with is_private set to true.
There are some remaining issues, which are documented in the readme.
I'm not sure if we can support read sync and showing unread on load
without changes from Slack to the API.
Showing thread messages in the channel is possible to fix, but we would
have to send requests to load the thread history for all the messages in
the history that has replies.
Fixes most of #644
|
|
|
|
| |
So it doesn't try to connect to the websocket when running the tests.
|
|
|
|
|
| |
Instead of splitting the message at spaces and checking and replacing
each word, use re.sub for the whole message.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is for the notifications @channel, @everyone, @group and @here.
@group isn't mentioned in the documentation[0], but it is still rendered
as a highlight in the web client, so I included it.
[0]: https://get.slack.help/hc/en-us/articles/202009646-Notify-a-channel-or-workspace
|
|
|
|
| |
Fixes #587
|
|
|
|
| |
Subteams/usergroups should never be used without the @.
|
|
|
|
|
|
|
| |
The username can't be changed by the users themselves now and is auto
generated for new users, so we shouldn't use it. Only use username as a
last resort if neither display name nor full name is set (I'm not sure
this ever happens, it looks like the full name field is mandatory).
|
|
|
|
| |
Fixes #697
|
| |
|
|
|
|
|
| |
* This change makes sure the /topic command outputs
'Topic for #random is ""' instead of
'Topic for #random is "{'value': ''}"'.
|
|
|
|
|
| |
I forgot to make some required changes in the tests after commit f3d880e
and commit 49d481c.
|
|
|
|
|
|
|
| |
12 seconds is a bit more than twice the amount of time between the pings
we send.
Fixes #238, fixes #480, fixes #561
|
|
|
|
|
|
| |
This mainly adds team, channel_general and user_alice as fixtures, so we
can use those directly instead of picking arbitrary ones from the lists.
It also adds assertions to some tests which where missing it.
|
|
|
|
| |
These tests don't do any assertions, so they are not very useful.
|
|
|
|
|
|
|
| |
Python 3 receives unicode strings as arguments in weechat callbacks,
websocet receive etc. and we can send unicode strings to weechat
functions, websocket etc., so we don't need to do any of this
converting.
|
|
|
|
|
|
| |
PluginConfig uses round-tripping through wee_slack.w to coerce
the its default values to the correct type. Without this, the normal
getters fail, as '' cannot be converted to an integer/boolean.
|
|
|
|
|
| |
This is compatible with python 3, which StringIO from StringIO or
cStringIO is not.
|
| |
|
|
|
|
| |
Comments are updated as well as live code.
|
|
|
|
|
| |
It seems pointless to serialize request metadata first with pickle, then
pack it into json, just to unpack both afterwards.
|
|
|
|
|
| |
This test doesn't do any assertions, and is as far as I can see
completely useless.
|
|
|
| |
Add @user-groups with tab-completion. @user-groups will be unfurl into format <!subteam^{ID}|handle> message before sending message via linktext method.
|
|
|
|
| |
This parameter is not used in the function.
|
|
|
|
| |
Previously, when writing e.g. `@channel: test` the colon would be lost.
|
| |
|
| |
|
|
|
|
| |
* fixes #618
|
|
|
|
| |
Simplifies the usage so we don't have to look it up each time.
|
|
|
|
|
|
|
|
| |
* Fix for #570, also incorporates #545
* Fixes from the review
* review fix #2
|
| |
|
|\
| |
| | |
Add support for shared channels
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since shared channels only work with the new conversations API, a new
class of SlackChannel and API type were added to support them. Also
`rtm.start` doesn't include external users so their information needs to
be fetched individually when getting the channel history.
To distinguish external users from team members their nicks get appended
with an asterisk, which can be changed with a new setting. They also
appear in a new "External" group in the nicklist since their presences
can't be fetched with `users.getPresence`.
Unfortunately `conversations.history` doesn't include thread messages so
threads won't show up in shared channels.
|
| |
| |
| |
| |
| | |
These missing callbacks are not really errors or exceptions, and we
don't need to implement all of them. Raising an exception makes the
users think something isn't working, and is confusing.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* print `image_url` if it exists
* add test for image_url
* requirements.txt for pytest
* fix requirements.txt
* text before image_url
* this isn’t required
* README readability for development section
thanks @trygveaa
* README reorder for this development section
|
|
|
|
| |
Fixes: #428
|