A Twitter plugin for Sopel
Project description
sopel-twitter
A Twitter plugin for Sopel.
Installation
Releases are hosted on PyPI, so after installing Sopel, all you need is pip
:
$ pip install sopel-twitter
If you want to use the development version, simply clone the repository and use
pip install path/to/sopel-twitter
Configuring
Twitter account required to use this plugin as of 1 July 2023. You probably want to minimize the potential impact of adverse action by using a throwaway login instead of your real profile. New accounts can (as of 19 July 2023) be verified using only an email address.
The easiest way to configure sopel-twitter
is via Sopel's configuration
wizard – simply run sopel-plugins configure twitter
and enter the values
for which it prompts you.
Otherwise, you can edit your bot's configuration file:
[twitter]
username = mybotaccount
password = s3cretb0tp@ss
# Both Required
show_quoted_tweets = True
# Optional: For quote-tweets, send a second message showing the quoted tweet?
# Default: True
alternate_domains =
fxtwitter.com
vxtwitter.com
nitter.net
# Optional: What other domains should we treat like twitter domains?
# Default: fxtwitter.com, vxtwitter.com, nitter.net
Important note
The library this plugin uses for Twitter data access previously stored its
login session data in the current working directory. For Sopel, that was
the directory from which the sopel
command was run.
As of sopel-twitter 1.3.1, a newer library version became available with
support for storing session data in Sopel's homedir
instead. You can clean
up the old session files left behind by sopel-twitter 1.3.0 by running e.g.
find / -type f -name 'sopel-twitter*.json' 2>/dev/null
. (Running find
on
/
tends to output numerous "Permission denied" errors, so suppressing stderr
is recommended.)
Usage
Just send a link to a tweet or profile!
You can also retrieve a user's info with the .twitinfo
command:
< Wiz> .twitinfo NASA
< Sopel> [Twitter] NASA (@NASA) ✔️ | Pale Blue Dot | http://www.nasa.gov/
| 204 friends, 46,602,251 followers | 65,377 tweets, 13,040 ♥s
| Joined: 2007-12-19 - 20:20:32UTC | There's space for everybody. ✨
Changes between 1.3.0 and 1.3.1
Changed:
- Use updated
tweety-ns
with option to specify session JSON storage location (#51)- Now stored in Sopel's
homedir
- See README for shell commands suggested for cleaning up the old ones
- Now stored in Sopel's
Fixed:
- Handle new
DeniedLogin
exception (#52)
Changes between 1.2.0 and 1.3.0
Breaking:
- Login with username/password is now required
- Creating a throwaway Twitter account is recommended
Changed:
- Updated to
tweety-ns
0.9 (#50)
Changes between 1.1.0 and 1.2.0
Breaking:
- Twitter cookies are now required
Changed:
- Updated to
tweety-ns
0.8 (#48)
Changes between 1.0.1 and 1.1.0
Changed:
- Updated to
tweety-ns
0.7, including revamped exceptions (#46)
Changes between 1.0.0 and 1.0.1
Fixed:
- Don't cache Tweety object; it stops working after some hours (#43)
Changes between 0.4.1 and 1.0.0
Important: Package name is now sopel-twitter
Added:
- Option to specify additional domains that can be treated as Twitter links (#34, #37)
Changed:
- Use
BooleanAttribute
setting type where appropriate (#27) - Use future-proof
plugin
decorators (#30) - Migrate from namespace package to entry point (#41)
- Migrate to Tweety library for data access; no more API keys (#42)
- Minimum Sopel version raised to 7.1 (#27)
Fixed:
/i/web/status
links (#33)- Collapse consecutive newlines (#36)
- Properly set up logger (#38)
Changes between 0.4.0 and 0.4.1
Fixed:
- Detecting user profile links with trailing slash or query params (#28)
- Error when quoted tweet has been deleted (#31)
Changes between 0.3.2 and 0.4.0
Added:
.twitinfo
command for user lookup (#20)- Support for mobile links (#21)
Changed:
- Updated documentation for configuration (#25) and setup of Twitter API account
Fixed:
- Media link output when quoted tweets are involved (#24)
Changes between 0.3.1 and 0.3.2
Fixed:
- Regression in profile link handling (#16)
Changes between 0.3.0 and 0.3.1
Fixed:
- Stricter
/i/
URL matching (#15)
Changes between 0.2.1 and 0.3.0
Changed:
- Tweet output includes a timestamp now (#13)
- Improved media link handling (#5, #12)
Added:
- Handling for profile/user links (#7)
- Handling for less common
/i/web/status
style links (#11)
Fixed:
- Decode HTML entities before output (#14)
Changes between 0.2.0 and 0.2.1
Fixed:
- Some quoted tweets would cause
KeyError: 'text'
(#9)
Changes between 0.1.2 and 0.2.0
Changed:
- Now requires Sopel 7.x (#8)
- Newlines in tweet text will be replaced with a carriage return symbol, to indicate author intention (#4)
Added:
- Handling of 280-character tweets (#4)
- More graceful handling of API errors (#6)
Meta:
- Package metadata updated (new maintainer, HTTPS links)
Changes between 0.1.1 and 0.1.2
Added:
- Tweet link handling
Changes between 0.1.0 and 0.1.1
Fixed:
- Unicode on Python 3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for sopel_twitter-1.3.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46742844ab98fc9029887d505ae541ce59f871b04c44f079f5a492648a692f0f |
|
MD5 | a68f3495434f4dceb11542b8d374759b |
|
BLAKE2b-256 | 56d8c37beeb1120a3c1b92bdd2ec5ba7059e36492214977507298ed76d37f0d6 |