]> git.mxchange.org Git - friendica-addons.git/commitdiff
[twitter] Use existing contact fields instead of guessing in twitter_unfollow
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 26 Sep 2021 11:36:49 +0000 (07:36 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 26 Sep 2021 11:36:49 +0000 (07:36 -0400)
- Add `friendship/destroy` API call result logging

twitter/twitter.php

index e0fa6f3aa45e214ddb1d6762bd68f50ea54492cc..948de3bacf30d5bf95ffc0e867f04d9946774e50 100644 (file)
@@ -177,16 +177,10 @@ function twitter_follow(App $a, array &$contact)
 function twitter_unfollow(App $a, array &$hook_data)
 {
        $contact = $hook_data['contact'];
-       Logger::info('Check if contact is twitter contact', ['url' => $contact["url"]]);
-
-       if (!strstr($contact["url"], "://twitter.com") && !strstr($contact["url"], "@twitter.com")) {
+       if ($contact['netword'] !== Protocol::TWITTER) {
                return;
        }
 
-       // contact seems to be a twitter contact, so continue
-       $nickname = preg_replace("=https?://twitter.com/(.*)=ism", "$1", $contact["url"]);
-       $nickname = str_replace("@twitter.com", "", $nickname);
-
        $uid = $a->getLoggedInUserId();
 
        $ckey = DI::config()->get('twitter', 'consumerkey');
@@ -201,7 +195,8 @@ function twitter_unfollow(App $a, array &$hook_data)
 
        try {
                $connection = new TwitterOAuth($ckey, $csecret, $otoken, $osecret);
-               $connection->post('friendships/destroy', ['screen_name' => $nickname]);
+               $result = $connection->post('friendships/destroy', ['screen_name' => $contact['nick']]);
+               Logger::info('[twitter] API call "friendship/destroy" successful', ['result' => $result]);
        } catch(Exception $e) {
                Logger::notice('[twitter] API call "friendships/destroy" failed', ['uid' => $uid, 'url' => $contact['url'], 'exception' => $e]);
        }