<commit_before><?php

namespace Difra\Plugins;

use Difra\Config;
use Difra\Exception;

class Twitter
{
	private $errorCode = 0;
	private $errorMessage = null;
	private $response = null;
	/**
	 * Адрес на который будет отправлен запрос на создание твита
	 * @var string
	 */
	private static $postUrl = 'https://api.twitter.com/1.1/statuses/update.json';

	/**
	 * Постинг сообщения в твиттер
	 * @param $text
	 * @return Twitter|null
	 * @throws Exception
	 */
	public static function post($text)
	{
		$onOff = Config::getInstance()->getValue('oAuth', 'postToTwitter');
		if (!$onOff) {
			throw new Exception('Missing oAuth');
		}

		$requestFields = ['status' => $text];
		$twitter = new self;
		$twitter->_performRequest($requestFields);

		return $twitter;
	}

	/**
	 * Выполняет запрос
	 * @param array $fields
	 * @param string $method
	 */
	private function _performRequest(array $fields, $method = 'POST')
	{
		$OAuth = Twitter\Oauth::build(self::$postUrl);
		$header = $OAuth->getHeader();

		$options = [<commit_msg>Twitter plugin: added exception if oAuth is missing.<commit_after><?php

namespace Difra\Plugins;

use Difra\Config;
use Difra\Exception;

class Twitter
{
	private $errorCode = 0;
	private $errorMessage = null;
	private $response = null;
	/**
	 * Адрес на который будет отправлен запрос на создание твита
	 * @var string
	 */
	private static $postUrl = 'https://api.twitter.com/1.1/statuses/update.json';

	/**
	 * Постинг сообщения в твиттер
	 * @param $text
	 * @return Twitter|null
	 * @throws Exception
	 */
	public static function post($text)
	{
		$onOff = Config::getInstance()->getValue('oAuth', 'postToTwitter');
		if (!$onOff) {
			throw new Exception('Missing oAuth/postToTwitter');
		}

		$requestFields = ['status' => $text];
		$twitter = new self;
		$twitter->_performRequest($requestFields);

		return $twitter;
	}

	/**
	 * Выполняет запрос
	 * @param array $fields
	 * @param string $method
	 */
	private function _performRequest(array $fields, $method = 'POST')
	{
		$OAuth = Twitter\Oauth::build(self::$postUrl);
		$header = $OAuth->getHeader();

		$options = [
{'fraction_non_alphanumeric': 0.1486935866983373, 'fraction_numerical': 0.0028503562945368173, 'mean_word_length': 3.990521327014218, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1194207', 'n_tokens_mistral': 768, 'n_tokens_neox': 718, 'n_words': 175}