Let op: Tweakers stopt per 2023 met Tweakblogs. In
dit artikel
leggen we uit waarom we hiervoor hebben gekozen.
Tweakers op Telegram - update!
Even vooraf: als jij de eigenaar bent/kent van @Tweakers (een kanaal dat al meerdere maanden platligt), PM me!
Hallo beste Tweakers,
Ik heb succesvol @TweakersChannel op Telegram in de lucht gezet! Dit is een channel die elke 5 minuten de laatste berichten van Tweakers.net uitspuugt. Het is geschreven in PHP (source code zal ik later op eigen Git repo zetten). Ik maak gebruik van de RSS feed. Het is ook leuk om even de obstakels te beschrijven voor degenen met interesse daarin
datetime() verwacht Long, heeft object gekregen
De library die ik gebruik om RSS uit te lezen (https://github.com/dg/rss-php) is helaas een beetje maf als het gaat om de timestamp die het uitspuugt. Als we het volgende:
uitvoeren, krijgen we deze error:
PHP Warning: gmdate() expects parameter 2 to be long, object given in /root/cron/php-tweakers-bot/cron.php on line 139
Top. Als we echo door print_r vervangen, krijgen we dit:
Oftewel: de timestamp zit in een object. Moeilijk googelen, simpel opgelost:
That's it.
De raw RSS bevat een <img> tag
Ik weet niet wat er in die image hoort te zitten, maar het is gewoon wit/blanco. Dus:
That's it.
Ik hoop dat jullie wat aan het kanaal hebben
Update: de bot draait nu op @Tweakers en heeft nu (als test) de meuktracker weg, alleen lijkt het dat die feed heel erg vertraagt is... Ook staat de code nu op GitHub: https://github.com/Flippylosaurus/php-tweakers-bot
Hallo beste Tweakers,
Ik heb succesvol @TweakersChannel op Telegram in de lucht gezet! Dit is een channel die elke 5 minuten de laatste berichten van Tweakers.net uitspuugt. Het is geschreven in PHP (source code zal ik later op eigen Git repo zetten). Ik maak gebruik van de RSS feed. Het is ook leuk om even de obstakels te beschrijven voor degenen met interesse daarin
datetime() verwacht Long, heeft object gekregen
De library die ik gebruik om RSS uit te lezen (https://github.com/dg/rss-php) is helaas een beetje maf als het gaat om de timestamp die het uitspuugt. Als we het volgende:
code:
1
2
3
4
5
6
7
| $rss = Feed::loadRss(RSS_URL);
foreach ($rss->item as $item) {
$minimumtimestamp = time() - CRON_SYNC_TIME;
$timestamp = $item->timestamp;
echo date("H:i:s", $timestamp);
} |
uitvoeren, krijgen we deze error:
PHP Warning: gmdate() expects parameter 2 to be long, object given in /root/cron/php-tweakers-bot/cron.php on line 139
Top. Als we echo door print_r vervangen, krijgen we dit:
code:
1
2
3
4
| Object
{
[0] => 123456789
} |
Oftewel: de timestamp zit in een object. Moeilijk googelen, simpel opgelost:
code:
1
| echo date("H:i:s", intval($timestamp)); |
That's it.
De raw RSS bevat een <img> tag
Ik weet niet wat er in die image hoort te zitten, maar het is gewoon wit/blanco. Dus:
code:
1
| $descriptionStripped = preg_replace("/<[^>]*>/", '', $item->description); |
That's it.
Ik hoop dat jullie wat aan het kanaal hebben
Update: de bot draait nu op @Tweakers en heeft nu (als test) de meuktracker weg, alleen lijkt het dat die feed heel erg vertraagt is... Ook staat de code nu op GitHub: https://github.com/Flippylosaurus/php-tweakers-bot