Mastodon support
parent
2dd252673c
commit
6337d56424
24
bot.php
24
bot.php
|
@ -4,7 +4,7 @@ use Symfony\Component\Yaml\Yaml;
|
|||
use Mremi\UrlShortener\Model\Link;
|
||||
use Mremi\UrlShortener\Provider\Bitly\BitlyProvider;
|
||||
use Mremi\UrlShortener\Provider\Bitly\GenericAccessTokenAuthenticator;
|
||||
use Baguette\Mastodon;
|
||||
use Revolution\Mastodon\MastodonClient;
|
||||
|
||||
$config = Yaml::parse(file_get_contents('config.yml'));
|
||||
$lastrun = 0;
|
||||
|
@ -55,14 +55,8 @@ $telegram = new Longman\TelegramBot\Telegram(
|
|||
$config['TELEGRAM_API_KEY'],
|
||||
$config['TELEGRAM_BOT_NAME']
|
||||
);
|
||||
$mastodon = Mastodon\session(
|
||||
$config['MASTODON_SERVER'],
|
||||
$config['MASTODON_CLIENT_ID'],
|
||||
$config['MASTODON_SECRET'],
|
||||
[
|
||||
'scope' => 'read write',
|
||||
]
|
||||
);
|
||||
$mastodon = new MastodonClient();
|
||||
|
||||
foreach ($articles as $article) {
|
||||
if (strtotime($article['pubDate']) <= $lastrun) {
|
||||
continue;
|
||||
|
@ -99,16 +93,18 @@ foreach ($articles as $article) {
|
|||
}
|
||||
}
|
||||
if ($config['MASTODON'] === true) {
|
||||
$mastodon->domain($config['MASTODON_SERVER'])->token($config['MASTODON_ACCESS_TOKEN']);
|
||||
$mdescription = "$title\n\n".ellipse($description, 400);
|
||||
$mdescription .= ": $link";
|
||||
/*
|
||||
if ($image) {
|
||||
$attachment = Mastodon\request($mastodon, 'POST', '/api/v1/media', [
|
||||
$attachment = $mastodon->post('/media', [
|
||||
'file' => $image
|
||||
], Mastodon\Entity\Account::class);
|
||||
]);
|
||||
var_dump($attachment);
|
||||
$mdescription .= $attachment->url;
|
||||
}
|
||||
echo $mdescription;
|
||||
//$mastodon->postStatus(Mastodon\toot($mdescription));
|
||||
}*/
|
||||
$mastodon->status_post($mdescription);
|
||||
}
|
||||
} else {
|
||||
echo $description."\n";
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
"sabre/xml": "^2.0",
|
||||
"ryakad/pandoc-php": "^1.0",
|
||||
"symfony/yaml": "^3.2",
|
||||
"mremi/url-shortener": "^2.1"
|
||||
"mremi/url-shortener": "^2.1",
|
||||
"revolution/laravel-mastodon-api": "^1.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,76 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "71302a13e71405a5c30d66ccb32c62da",
|
||||
"content-hash": "a474f6360fb73f8cd1cfc26729f5c03a",
|
||||
"hash": "1202ffc808820614be6612d0a402a758",
|
||||
"content-hash": "725c9d0611923400d53ba805e2785e86",
|
||||
"packages": [
|
||||
{
|
||||
"name": "doctrine/inflector",
|
||||
"version": "v1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/inflector.git",
|
||||
"reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
|
||||
"reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "4.*"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Doctrine\\Common\\Inflector\\": "lib/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Roman Borschel",
|
||||
"email": "roman@code-factory.org"
|
||||
},
|
||||
{
|
||||
"name": "Benjamin Eberlei",
|
||||
"email": "kontakt@beberlei.de"
|
||||
},
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Jonathan Wage",
|
||||
"email": "jonwage@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Johannes Schmitt",
|
||||
"email": "schmittjoh@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Common String Manipulations with regard to casing and singular/plural rules.",
|
||||
"homepage": "http://www.doctrine-project.org",
|
||||
"keywords": [
|
||||
"inflection",
|
||||
"pluralize",
|
||||
"singularize",
|
||||
"string"
|
||||
],
|
||||
"time": "2015-11-06 14:35:42"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "6.2.3",
|
||||
|
@ -185,6 +252,105 @@
|
|||
],
|
||||
"time": "2017-03-20 17:10:46"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/contracts",
|
||||
"version": "v5.4.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/contracts.git",
|
||||
"reference": "31f0193eb14aa3ee07841dc254081425616e79f0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/31f0193eb14aa3ee07841dc254081425616e79f0",
|
||||
"reference": "31f0193eb14aa3ee07841dc254081425616e79f0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Illuminate\\Contracts\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"description": "The Illuminate Contracts package.",
|
||||
"homepage": "https://laravel.com",
|
||||
"time": "2017-04-19 20:17:43"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/support",
|
||||
"version": "v5.4.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/support.git",
|
||||
"reference": "a42393b56d0ec75f55e760f2a47bcf85a17a278d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/a42393b56d0ec75f55e760f2a47bcf85a17a278d",
|
||||
"reference": "a42393b56d0ec75f55e760f2a47bcf85a17a278d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/inflector": "~1.0",
|
||||
"ext-mbstring": "*",
|
||||
"illuminate/contracts": "5.4.*",
|
||||
"paragonie/random_compat": "~1.4|~2.0",
|
||||
"php": ">=5.6.4"
|
||||
},
|
||||
"replace": {
|
||||
"tightenco/collect": "self.version"
|
||||
},
|
||||
"suggest": {
|
||||
"illuminate/filesystem": "Required to use the composer class (5.2.*).",
|
||||
"symfony/process": "Required to use the composer class (~3.2).",
|
||||
"symfony/var-dumper": "Required to use the dd function (~3.2)."
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Illuminate\\Support\\": ""
|
||||
},
|
||||
"files": [
|
||||
"helpers.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Taylor Otwell",
|
||||
"email": "taylor@laravel.com"
|
||||
}
|
||||
],
|
||||
"description": "The Illuminate Support package.",
|
||||
"homepage": "https://laravel.com",
|
||||
"time": "2017-06-15 12:35:32"
|
||||
},
|
||||
{
|
||||
"name": "longman/telegram-bot",
|
||||
"version": "0.44.1",
|
||||
|
@ -365,6 +531,54 @@
|
|||
],
|
||||
"time": "2017-03-29 18:03:19"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
"version": "v2.0.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/random_compat.git",
|
||||
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
||||
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "4.*|5.*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"lib/random.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Paragon Initiative Enterprises",
|
||||
"email": "security@paragonie.com",
|
||||
"homepage": "https://paragonie.com"
|
||||
}
|
||||
],
|
||||
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
||||
"keywords": [
|
||||
"csprng",
|
||||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"time": "2017-03-13 16:27:32"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
"version": "1.0.1",
|
||||
|
@ -527,6 +741,52 @@
|
|||
],
|
||||
"time": "2017-03-14 09:44:11"
|
||||
},
|
||||
{
|
||||
"name": "revolution/laravel-mastodon-api",
|
||||
"version": "1.1.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/kawax/laravel-mastodon-api.git",
|
||||
"reference": "386bc7fbf5dc16b08582c9739c770be078314bbc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/kawax/laravel-mastodon-api/zipball/386bc7fbf5dc16b08582c9739c770be078314bbc",
|
||||
"reference": "386bc7fbf5dc16b08582c9739c770be078314bbc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "^6.2",
|
||||
"illuminate/support": "5.*",
|
||||
"php": ">=7.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "0.9.*",
|
||||
"phpunit/phpunit": "6.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Revolution\\Mastodon\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "kawax",
|
||||
"email": "kawaxbiz@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Mastodon API for Laravel",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"mastodon"
|
||||
],
|
||||
"time": "2017-05-30 03:20:20"
|
||||
},
|
||||
{
|
||||
"name": "ryakad/pandoc-php",
|
||||
"version": "v1.0.0",
|
||||
|
|
Loading…
Reference in New Issue