Comments (2)
A paginator could potentially help, maybe something like this:
def pagify(text, delims=["\n"], *, escape=True, shorten_by=8,
page_length=2000):
"""DOES NOT RESPECT MARKDOWN BOXES OR INLINE CODE"""
in_text = text
if escape:
num_mentions = text.count("@here") + text.count("@everyone")
shorten_by += num_mentions
page_length -= shorten_by
while len(in_text) > page_length:
closest_delim = max([in_text.rfind(d, 0, page_length)
for d in delims])
closest_delim = closest_delim if closest_delim != -1 else page_length
if escape:
to_send = escape_mass_mentions(in_text[:closest_delim])
else:
to_send = in_text[:closest_delim]
yield to_send
in_text = in_text[closest_delim:]
if escape:
yield escape_mass_mentions(in_text)
else:
yield in_text
A little something found from Red: https://github.com/Cog-Creators/Red-DiscordBot/blob/develop/cogs/utils/chat_formatting.py
Note, there's a limit of 20 fields to an embed and while the field character limit is 1024, the descriptions limit is 2048.
from pluralkit.
I'd rather cap it than deal with complex pagination stuff, honestly. 1024 should be enough.
from pluralkit.
Related Issues (20)
- Add support for silent messages. HOT 3
- `text --c` is not a valid proxy tag HOT 1
- Dozer logclean errors when Dozer sends a message that isn't a log
- Nitro emoji from other servers don't work. HOT 4
- 403 code given for all avatars & no avatars showing up HOT 3
- Call issues HOT 1
- Avatar issues HOT 1
- add support for "Send Messages in Threads" permission HOT 1
- enable PluralKit proxying in threads for channels on proxy blacklist
- [Feature] Add webhook API to notify services of switches HOT 2
- whyis it offline😰 HOT 1
- Its working at least but... HOT 1
- Nitro messages longer than 2000 characters are dropped. HOT 7
- User-installed App Support to allow command use in DMs? HOT 2
- Blocking Pluralkit Members HOT 3
- Would it be possible to add a function to import a Simply plural account? HOT 1
- Rotating Avatars HOT 1
- Profile pictures not loading properly over the course of a week HOT 2
- Escaping formatting syntax from usernames
- Make it an user app HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pluralkit.