Первоначально опубликовано в моем блоге.
Я только что опубликовал новый пакет Python: tweet-counter (repo).
Если вы хотите автоматизировать публикацию твитов с помощью Python, довольно важно знать, не превышает ли ваш твит лимит в 280 символов.
Оказалось, что сделать это нетривиально, поскольку у Twitter есть несколько правил подсчета символов. В основном они таковы:
- Twitter преобразует все, что похоже на URL (с действительным TLD — например,
example.ae
), в короткую ссылку Twitter и считает, что она занимает ровно 23 символа. - Twitter считает эмодзи и любой символ юникода выше
U+2037
как занимающие по 2 символа.
К чести Twitter, он предоставляет официальные библиотеки с открытым исходным кодом для подсчета длины твита.
Но я не смог найти ни одной библиотеки для Python. Поэтому я создал одну. Возможно, она далека от совершенства, но она, по крайней мере, учитывает два основных условия, что должно покрыть большинство распространенных англоязычных случаев использования.
$ pip3 install tweet-counter
$ count-tweet "Otters 👪 otters 𝗼𝘁𝘁𝗲𝗿𝘀 otters otters.com/otters"
60
Я надеюсь использовать его в автоматическом инструменте для превращения сообщений блога в темы твиттера, над которым я сейчас работаю.