Spaces:
No application file
No application file
| namespace MauticPlugin\MauticSocialBundle\Command; | |
| use MauticPlugin\MauticSocialBundle\Entity\Monitoring; | |
| class MonitorTwitterMentionsCommand extends MonitorTwitterBaseCommand | |
| { | |
| /** | |
| * Configure the command, set name and options. | |
| */ | |
| protected function configure() | |
| { | |
| $this->setName('social:monitor:twitter:mentions'); | |
| parent::configure(); | |
| } | |
| /** | |
| * Search for tweets by mention. | |
| * | |
| * @param Monitoring $monitor | |
| * | |
| * @return bool|array False if missing the twitter handle, otherwise the array response from Twitter | |
| */ | |
| protected function getTweets($monitor) | |
| { | |
| $params = $monitor->getProperties(); | |
| $stats = $monitor->getStats(); | |
| if (!array_key_exists('handle', $params)) { | |
| $this->output->writeln('No twitter handle was found!'); | |
| return false; | |
| } | |
| $mentionsUrl = $this->twitter->getApiUrl('search/tweets'); | |
| $requestQuery = [ | |
| 'q' => '@'.$params['handle'], | |
| 'count' => $this->queryCount, | |
| ]; | |
| // if we have a max id string use it here | |
| if (is_array($stats) && array_key_exists('max_id_str', $stats) && $stats['max_id_str']) { | |
| $requestQuery['since_id'] = $stats['max_id_str']; | |
| } | |
| return $this->twitter->makeRequest($mentionsUrl, $requestQuery); | |
| } | |
| public function getNetworkName(): string | |
| { | |
| return 'twitter'; | |
| } | |
| protected static $defaultDescription = 'Searches for mentioned tweets'; | |
| } | |