Einen Tweet aus C# veröffentlichen

Immer wieder stößt man auf der Plattform Twitter auf Bots. Dabei handelt es sich um Twitter-Konten, welche nicht durch Menschen betrieben und mit Inhalt gefüllt werden, sondern um Computer-Programme, welche zum Beispiel in regelmäßigen Abständen automatisiert das aktuelle Wetter ausgibt oder die Aktienkurse. Ich habe mir mal angeschaut mit welchem Aufwand man selbst aus seinem C#-Programm einen Tweet absetzen kann und dies ist wirklich sehr simpel und in diesem Beitrag zeigen ich euch, wie das geht.

Hierfür benötigen wir einige Keys und Secret von Twitter und daher brauchen wir einen Twitter-Account. Wir melden uns im Browser mit diesem Nutzer entsprechend an.

Anschließend geben wir die Url apps.twitter.com ein, um in das Developer-Portal von Twitter zu gelangen. Ich habe hier schon einige Applikationen eingetragen, aber wir starten natürlich von Scratch und klicken daher den Button Create New App in der oberen rechten Ecke an.

Hier geben wir nun einen beliebigen Namen für die Applikation ein und entsprechend auch eine kurze Beschreibung. Ebenso müssen wir eine URL und eine Callback-URL eintragen. Ich habe hier in beiden Fällen die Webseite von meinem Blog eingegeben, aber hier könnt ihr natürlich eure eigenen Daten eintragen. Setzt nun unten noch ein Häkchen in die Checkbox und klickt auf Create your Twitter application.

Wir wechseln anschließend auf den Tab Keys and Access Tokens und finden im oberen Bereich den Consumer Key und das Consumer Secret, welche wir beide kopieren, da wir sie später noch benötigen.

Im unteren Bereich der Seite gibt es einen Button Create my access token, welchen wir anklicken, um die beiden fehlenden Secrets zu erhalten. Auch diese müssen wir kopieren, da wir sie später in unserem Quellcode benötigen.

Nun können wir endlich Visual Studio starten und ein beliebiges C#-Projekt, z.B. eine Konsolen-Anwendung oder eine Azure Function, anlegen. Hier fügen wir nun das NuGet-Package TweetinviAPI entsprechend hinzu.

Über die statische Klasse Auth können wir die Methode SetUserCredentials verwenden und unsere vier kopierten Secrets dort entsprechen einfügen, um uns zu autorisieren.

// set credentials
Tweetinvi.Auth.SetUserCredentials("ConsumerKey", 
    "ConsumerSecret", "AccessToken", "AccessTokenSecret");

Nach dieser Code-Zeile können wir nun auch unseren ersten Tweet absetzen und verwenden dafür die Methode PublishTweet aus der statischen Klasse Tweet und übergeben einen beliebigen String, welcher dann veröffentlicht wird.

// publish tweet
Tweetinvi.Tweet.PublishTweet("Das ist ein Tweet");

Natürlich lassen sich auch Tweets mit Bildern oder Videos versenden und entsprechend veröffentlichen. Hierfür gibt es eine Wiki im GitHub-Repository von Tweetinvi. Hier könnt ihr direkt nachschauen und so euren eigenen Twitter-Bot entwickeln. Ein mögliches Szenario wäre zum Beispiel über eine zeitgesteuerte Azure Function in regelmäßigen Abständen Informationen, wie den aktuellen Niederschlag oder ähnliches zu veröffentlichen. Hier sind der Fantasie nun keine Grenzen mehr gesetzt.

Extension Methods: Dictionary XAML-Studio zum Erstellen von XAML-Layouts Anzeigen von Dateien auf einem Device mit dem Device File Explorer