input: Write a function to remove all punctuation, special characters, and stopwords from a given tweet. Return the cleaned tweet as a list of filtered tokens. If the input tweet is empty, return an empty list.
  import re
  import string
  from nltk.corpus import stopwords
  
  assert clean_tweet("I'm so excited to be going to the #MuseumTour! #BigDay #travel")==['excited', 'going', 'museumtour', 'bigday', 'travel']
  assert clean_tweet("#BigDay #travel")==['bigday', 'travel']
  assert clean_tweet("")==[]
  assert clean_tweet("Hello, world!")==['hello', 'world']
  assert clean_tweet("@User hey!")==['hey']
output: def clean_tweet(tweet):
      if not tweet:
          return []
      tweet = tweet.lower()
      tweet = re.sub(f"[{re.escape(string.punctuation)}]", "", tweet)
      tokens = tweet.split()
      stop_words = set(stopwords.words('english'))
      filtered_tokens = [word for word in tokens if word not in stop_words]
      return filtered_tokens