Fix space in usernames

This commit is contained in:
Zeva Rose 2022-04-19 11:02:25 -06:00
parent 939458bba9
commit 09676da538

View file

@ -3,6 +3,7 @@ import asyncio
from datetime import datetime, timedelta, timezone from datetime import datetime, timedelta, timezone
from logging import Logger from logging import Logger
from typing import List from typing import List
from urllib.parse import quote_plus
import tweepy import tweepy
from dis_snek import Snake from dis_snek import Snake
@ -23,7 +24,7 @@ def tweet_embeds(tweet: tweepy.models.Status) -> List[Embed]:
Args: Args:
tweet: Tweet to build embed tweet: Tweet to build embed
""" """
url = f"https://twitter.com/{tweet.user.name}/status/{tweet.id}" url = f"https://twitter.com/{quote_plus(tweet.user.name)}/status/{tweet.id}"
entities = tweet.__dict__.get("extended_entities", {}) entities = tweet.__dict__.get("extended_entities", {})
media = entities.get("media", []) media = entities.get("media", [])
@ -35,7 +36,7 @@ def tweet_embeds(tweet: tweepy.models.Status) -> List[Embed]:
text = tweet.text text = tweet.text
if subtweet := tweet.__dict__.get("quoted_status", None): if subtweet := tweet.__dict__.get("quoted_status", None):
subuser = subtweet.user subuser = subtweet.user
text += f"\n\n> [@{subuser.name}](https://twitter.com/{subuser.name})" text += f"\n\n> [@{subuser.name}](https://twitter.com/{quote_plus(subuser.name)})"
text += f"\n> {subtweet.text}" text += f"\n> {subtweet.text}"
if entites := subtweet.__dict__.get("extended_entities", {}): if entites := subtweet.__dict__.get("extended_entities", {}):
submedia = entites.get("media", []) submedia = entites.get("media", [])
@ -150,7 +151,7 @@ async def twitter(bot: Snake, logger: Logger) -> None:
# Delete invalid accounts (no follows) # Delete invalid accounts (no follows)
for account in accounts_to_delete: for account in accounts_to_delete:
logger.info(f"Account {account.handle} has no followers, removing") logger.info(f"{account.handle} has no followers, removing")
await account.delete() await account.delete()
# Only check once a minute # Only check once a minute