diff --git a/Pipfile b/Pipfile index 022e6ee..3e3a562 100644 --- a/Pipfile +++ b/Pipfile @@ -13,7 +13,6 @@ google-auth-httplib2 = "*" google-auth-oauthlib = "*" requests = "*" igramscraper = "*" -twitterscraper = "*" httpx = "*" PyYAML = "==5.3" wolframalpha = "*" diff --git a/README.md b/README.md index 745d779..5a87a96 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,7 @@ New posts are sent to room. Polls only randomly every 30 to 60 minutes to keep Commands: -Prefix with selected service, for example "!ig add accountname" or "!twitter list" +Prefix with selected service, for example "!ig add accountname" or "!teamup list" * add [accountname] - Add account to this room (Must be done as room admin) * del [accountname] - Delete account from room (Must be done as room admin) @@ -207,13 +207,6 @@ See: https://github.com/realsirjoe/instagram-scraper/ NOTE: disabled by default -#### Twitter - -Polls twitter account(s). Uses twitter scraper library -without any authentication or api key. - -See: https://github.com/taspinar/twitterscraper/tree/master/twitterscraper - #### Matrix Messaging API (mxma) This is a simple API to ask bot to send messages in Matrix using JSON file from external service. diff --git a/modules/common/module.py b/modules/common/module.py index 53f10f1..f4c0d43 100644 --- a/modules/common/module.py +++ b/modules/common/module.py @@ -98,8 +98,6 @@ class BotModule(ABC): def enable(self): self.enabled = True - if hasattr(self, "__init_enabled"): - self.__init_enabled(self.name) def disable(self): self.enabled = False diff --git a/modules/twitter.py b/modules/twitter.py deleted file mode 100644 index a79e9f4..0000000 --- a/modules/twitter.py +++ /dev/null @@ -1,32 +0,0 @@ -import sys -import traceback - -from modules.common.pollingservice import PollingService - - -# https://github.com/taspinar/twitterscraper/tree/master/twitterscraper - -class MatrixModule(PollingService): - def __init__(self, name): - super().__init__(name) - self.service_name = 'Twitter' - self.enabled = False - - def __init_enabled(self, name): - # importing this has massive sideeffects, so let's only do that when enabled - from twitterscraper import query_tweets_from_user - - async def poll_implementation(self, bot, account, roomid, send_messages): - try: - tweets = query_tweets_from_user(account, limit=1) - self.logger.info(f'Polling twitter account {account} - got {len(tweets)} tweets') - for tweet in tweets: - if tweet.tweet_id not in self.known_ids: - if send_messages: - await bot.send_html(bot.get_room_by_id(roomid), - f'Twitter {account}: {tweet.text}', - f'Twitter {account}: {tweet.text} - https://twitter.com{tweet.tweet_url}') - self.known_ids.add(tweet.tweet_id) - except Exception: - self.logger.error('Polling twitter account failed:') - traceback.print_exc(file=sys.stderr)