Skip to content

top-tl/java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TOP.TL Java SDK

Maven Central License: MIT Java 11+

Official Java SDK for the TOP.TL Telegram Directory API.

Installation

Maven

<dependency>
    <groupId>tl.top</groupId>
    <artifactId>toptl</artifactId>
    <version>1.0.0</version>
</dependency>

Gradle

implementation 'tl.top:toptl:1.0.0'

Quick Start

import tl.top.toptl.TopTL;
import tl.top.toptl.models.*;

TopTL client = new TopTL("your-api-token");

// Get listing info
Listing listing = client.getListing("mybot");
System.out.println(listing.getTitle() + " has " + listing.getVotes() + " votes");

// Get votes
VotesResponse votes = client.getVotes("mybot");
System.out.println("Total votes: " + votes.getTotal());

// Check if a user voted
VoteCheck check = client.hasVoted("mybot", "123456789");
if (check.isHasVoted()) {
    System.out.println("User has voted!");
}

// Post stats
client.postStats("mybot", new StatsUpdate(50000L, null));

// Get global stats
Stats stats = client.getStats();
System.out.println("Total listings on TOP.TL: " + stats.getTotalListings());

Autoposter

Automatically post stats at a regular interval:

import tl.top.toptl.TopTL;
import tl.top.toptl.TopTLAutoposter;
import tl.top.toptl.models.StatsUpdate;
import java.util.concurrent.TimeUnit;

TopTL client = new TopTL("your-api-token");

TopTLAutoposter autoposter = new TopTLAutoposter(client, "mybot", () -> {
    long memberCount = bot.getGuilds().stream()
            .mapToLong(g -> g.getMemberCount())
            .sum();
    return new StatsUpdate(memberCount, null);
});

autoposter.onError(e -> System.err.println("Failed to post stats: " + e.getMessage()));
autoposter.start(30, TimeUnit.MINUTES);

// When shutting down:
autoposter.stop();

Requirements

  • Java 11 or higher (uses java.net.http.HttpClient)

License

MIT - TOP.TL

About

Official TOP.TL SDK for Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages