
A modern Twitter API wrapper supporting various endpoints and features like named parameters, type-safe model classes, and paging APIs handled by Flow, enabling efficient Twitter data interactions.
Documentation is available at GitHub Pages.
suspend fun main() {
// Create new PenicillinClient.
PenicillinClient {
account {
application("ConsumerKey", "ConsumerSecret")
token("AccessToken", "AccessToken Secret")
}
}.use { client ->
// Retrieve up to 100 tweets from @POTUS.
val timeline = client.timeline.userTimelineByScreenName(screenName = "POTUS", count = 100).execute()
// The return value of the timeline is `JsonArrayResponse<Status>`. It implements `Iterable<T>`, which allows iterative operations.
timeline.forEach { status ->
// Print unescaped status text. If you want to get the raw html reference characters, you can use `textRaw`.
println(status.text)
}
}
}Other examples can be found at Wiki. If you have any questions, please let us know at Issue.
Penicillin is now available in the Maven Central since version 6.1.0. The previous Bintray repository is no longer available.
dependencies {
implementation("blue.starry:penicillin:$PenicillinVersion")
// Choose your favorite engine from https://ktor.io/clients/http-client/engines.html
// The version should match the version of Ktor that Penicillin is using.
implementation("io.ktor:ktor-client-apache:1.6.8")
implementation("io.ktor:ktor-client-cio:1.6.8")
}Penicillin is provided under the MIT license.
Copyright (c) 2017-2022 StarryBlueSky.
Documentation is available at GitHub Pages.
suspend fun main() {
// Create new PenicillinClient.
PenicillinClient {
account {
application("ConsumerKey", "ConsumerSecret")
token("AccessToken", "AccessToken Secret")
}
}.use { client ->
// Retrieve up to 100 tweets from @POTUS.
val timeline = client.timeline.userTimelineByScreenName(screenName = "POTUS", count = 100).execute()
// The return value of the timeline is `JsonArrayResponse<Status>`. It implements `Iterable<T>`, which allows iterative operations.
timeline.forEach { status ->
// Print unescaped status text. If you want to get the raw html reference characters, you can use `textRaw`.
println(status.text)
}
}
}Other examples can be found at Wiki. If you have any questions, please let us know at Issue.
Penicillin is now available in the Maven Central since version 6.1.0. The previous Bintray repository is no longer available.
dependencies {
implementation("blue.starry:penicillin:$PenicillinVersion")
// Choose your favorite engine from https://ktor.io/clients/http-client/engines.html
// The version should match the version of Ktor that Penicillin is using.
implementation("io.ktor:ktor-client-apache:1.6.8")
implementation("io.ktor:ktor-client-cio:1.6.8")
}Penicillin is provided under the MIT license.
Copyright (c) 2017-2022 StarryBlueSky.