40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use Abraham\TwitterOAuth\TwitterOAuth;
 | |
| use Abraham\TwitterOAuth\TwitterOAuthException;
 | |
| use Shikiryu\WebGobbler\Assembler\Superpose;
 | |
| use Shikiryu\WebGobbler\Config;
 | |
| use Shikiryu\WebGobbler\Pool;
 | |
| 
 | |
| include 'vendor/autoload.php';
 | |
| 
 | |
| $twitter_config = require 'config.php';
 | |
| 
 | |
| try {
 | |
|     // generate picture
 | |
|     $config = new Config('./config.json');
 | |
|     $pool = new Pool($config);
 | |
|     $upload_image_name = uniqid('superpose_', true);
 | |
|     $image = new Superpose($pool, $config);
 | |
|     $image->saveTo(sprintf('./render/%s.jpg', $upload_image_name));
 | |
| 
 | |
|     // send picture to twitter
 | |
|     $connection = new TwitterOAuth(
 | |
|         $twitter_config['api_key'],
 | |
|         $twitter_config['api_secret'],
 | |
|         $twitter_config['access_token'],
 | |
|         $twitter_config['access_secret']
 | |
|     );
 | |
| 
 | |
|     $connection->setTimeouts(5, 60000);
 | |
|     $collage = $connection->upload('media/upload', ['media' => realpath(sprintf('./render/%s.jpg', $upload_image_name))]);
 | |
|     $parameters = [
 | |
|         'status' => 'Nouveau collage',
 | |
|         'media_ids' => $collage->media_id_string,
 | |
|     ];
 | |
|     $result = $connection->post('statuses/update', $parameters);
 | |
| 
 | |
| } catch (TwitterOAuthException | Exception $exception) {
 | |
|     echo $exception->getMessage();
 | |
| }
 |