Tweakers op Telegram - update!

Door Flippylosaurus op woensdag 1 juni 2016 11:24 - Reacties (18)
Categorie: PHP, Views: 4.773

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:


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

Volgende: Hoe zet ik een OpenPGP keyserver op? Deel I: uitleg, waarom en benodigdheden 09-'16 Hoe zet ik een OpenPGP keyserver op? Deel I: uitleg, waarom en benodigdheden
Volgende: [WIP] Iomega zipdrive op de pijnbank 04-'16 [WIP] Iomega zipdrive op de pijnbank

Reacties


Door Tweakers user Kosty, woensdag 1 juni 2016 13:29

Correct me if I'm wrong, maar die img tag (da's een tracking pixel) is toegevoegd door FeedBurner om "Item Views" te kunnen meten. Het idee is als jij (of een andere RSS client) de description inlaadt en HTML-parsed dat er een request gestuurd wordt naar de RSS provider die dan informatie krijgt over die "view".

Door Tweakers user ayahuasca1986, woensdag 1 juni 2016 14:08

Hoe werkt dat met die channels op telegram? (ik ben nieuw bij telegram)

Door Tweakers user ayahuasca1986, woensdag 1 juni 2016 14:46

ayahuasca1986 schreef op woensdag 01 juni 2016 @ 14:08:
Hoe werkt dat met die channels op telegram? (ik ben nieuw bij telegram)
Het is me inmiddels gelukt. Wat me wel nog opviel, er kwamen zojuist ineens 40 berichten voorbij ofzo waarbij de nieuwste bovenaan stond. Omdat je in telegram juist andersom werkt zou je die sortering ook even moeten omdraaien als het meerdere berichten zijn.

Door Tweakers user Ask!, woensdag 1 juni 2016 15:39

ayahuasca1986 schreef op woensdag 01 juni 2016 @ 14:08:
Hoe werkt dat met die channels op telegram? (ik ben nieuw bij telegram)
In je browser app op Android kun je altijd gewoon typen:

telegram.me/<channel naam>

In dit geval dus:

telegram.me/TweakersChannel

Dan opent het automatisch in je Telegram app :)

[Reactie gewijzigd op woensdag 1 juni 2016 15:39]


Door Tweakers user Flippylosaurus, woensdag 1 juni 2016 17:12

ayahuasca1986 schreef op woensdag 01 juni 2016 @ 14:46:
[...]


Het is me inmiddels gelukt. Wat me wel nog opviel, er kwamen zojuist ineens 40 berichten voorbij ofzo waarbij de nieuwste bovenaan stond. Omdat je in telegram juist andersom werkt zou je die sortering ook even moeten omdraaien als het meerdere berichten zijn.
Zou als het goed is nu beter moeten werken.

Door Tweakers user floens, woensdag 1 juni 2016 21:45

Ik had een paar weken geleden @tweakersnieuws gemaakt, was toen ook al op zoek naar de eigenaar van @tweakers maar kon niemand vinden.

Door Tweakers user Danny.G, donderdag 2 juni 2016 00:31

Flippylosaurus (geweldige naam!!), ik heb even wat moeite voor je gedaan. Ik kon me namelijk nog de comment van de eigenaar van die channel herinneren, even een paar minuten lopen zoeken en voila!

De reactie van het desbetreffende lid

Overigens een erg leuk projectje. Ik heb Telegram lang gebruikt, maar ben op een gegeven moment weer overgegaan op WhatsApp, aangezien ik Telegram enkel voor mijn vriendin gebruikte (vonden we leuk; puur omdat het kon, want ja, lekker anders dan de rest! :z

[Reactie gewijzigd op donderdag 2 juni 2016 01:16]


Door Tweakers user Flippylosaurus, donderdag 2 juni 2016 07:13

Danny.G schreef op donderdag 02 juni 2016 @ 00:31:
Flippylosaurus (geweldige naam!!), ik heb even wat moeite voor je gedaan. Ik kon me namelijk nog de comment van de eigenaar van die channel herinneren, even een paar minuten lopen zoeken en voila!

De reactie van het desbetreffende lid

Overigens een erg leuk projectje. Ik heb Telegram lang gebruikt, maar ben op een gegeven moment weer overgegaan op WhatsApp, aangezien ik Telegram enkel voor mijn vriendin gebruikte (vonden we leuk; puur omdat het kon, want ja, lekker anders dan de rest! :z
Haha, bedankt! Ik zal wel even kijken of ik contact met degene kan opnemen.

Door Tweakers user Bolk, donderdag 2 juni 2016 10:25

Werkt prima zo te zien! Alleen het woordje "gestuurd" zou ik vervangen door "gepubliceerd" oid :)

Door xDDD, donderdag 2 juni 2016 13:02

php is kut

Door Tweakers user FuBob, donderdag 2 juni 2016 13:02

floens schreef op woensdag 01 juni 2016 @ 21:45:
Ik had een paar weken geleden @tweakersnieuws gemaakt, was toen ook al op zoek naar de eigenaar van @tweakers maar kon niemand vinden.
Ik heb dit gebruikt, 10/10 raad het aan.


Door Tweakers user azerty, donderdag 2 juni 2016 13:51

Vergeet niet om je credentials eruit te halen als je hem op GitHub zet ;)


Door Jannes, donderdag 2 juni 2016 14:04

@tweakersnieuws doet dit al

Door Tweakers user NightFox89, donderdag 2 juni 2016 14:53

Altijd grappig. Men roept dat want het is stoer, maar als je ze inhoudelijk vraagt waarom dan komt er niets concreets/fatsoenlijks uit haha

Door xDD, donderdag 2 juni 2016 15:26

NightFox89 schreef op donderdag 02 juni 2016 @ 14:53:
[...]


Altijd grappig. Men roept dat want het is stoer, maar als je ze inhoudelijk vraagt waarom dan komt er niets concreets/fatsoenlijks uit haha
Net als dat er niets fatsoenlijks of concreets kan komen uit een systeem wat is gebouwd in php.

Door Tweakers user Flippylosaurus, donderdag 2 juni 2016 16:19

Oke, we gaan offtopic.. ik schakel anonieme reacties wel uit.

Reageren is niet meer mogelijk