RobloxUserOnlineTracker 1.2.2
dotnet add package RobloxUserOnlineTracker --version 1.2.2
NuGet\Install-Package RobloxUserOnlineTracker -Version 1.2.2
<PackageReference Include="RobloxUserOnlineTracker" Version="1.2.2" />
<PackageVersion Include="RobloxUserOnlineTracker" Version="1.2.2" />
<PackageReference Include="RobloxUserOnlineTracker" />
paket add RobloxUserOnlineTracker --version 1.2.2
#r "nuget: RobloxUserOnlineTracker, 1.2.2"
#addin nuget:?package=RobloxUserOnlineTracker&version=1.2.2
#tool nuget:?package=RobloxUserOnlineTracker&version=1.2.2
RobloxUserOnlineTracker
RobloxUserOnlineTracker is a lightweight .NET library that allows you to track the online presence of Roblox users in real-time.
⚠️ This project is not affiliated with Roblox Corporation. Use at your own risk and comply with Roblox's Terms of Service.
✨ Features
- ✅ Track multiple Roblox user IDs for presence changes.
- 🔰 Supports .NET 5, .NET 6, .NET 7, .NET 8 and .NET 9.
- 🏃♂️ Fully supports AOT compilation and trimming (.NET 6+).
- ⏱️ Set custom tracking intervals.
- 🪝 Event-driven architecture with two key events:
UserOnlinePresenceChanged
— triggered when a user's online status changes.TrackingErrorOccurred
— triggered when an error occurs during tracking.
- 👍 Easy to use.
🚀 Getting Started
Installation
Install the NuGet package:
dotnet add package RobloxUserOnlineTracker
Or via the NuGet Gallery.
Usage
Tracking example
using RobloxUserOnlineTracker;
var tracker = new RobloxUserOnlineTrackerClient(".ROBLOSECURITY_COOKIE_HERE");
tracker.UserOnlinePresenceChanged += (sender, args) =>
{
Console.WriteLine($"User {args.UserPresence.User.Id} is now {args.UserPresence.Presence}");
};
tracker.TrackingErrorOccurred += (sender, ex) =>
{
Console.WriteLine($"Error occurred: {ex.Message}");
};
long[] userIdsToTrack = { 123456, 789012 };
tracker.StartTracking(userIdsToTrack, trackInterval: 10000); // Every 10 seconds
Onetime call example
using RobloxUserOnlineTracker;
var tracker = new RobloxUserOnlineTrackerClient(".ROBLOSECURITY_COOKIE_HERE");
long[] userIds = { 123456, 789012 };
var usersStatusOnline = await tracker.GetUserOnlinePresenceAsync(userIds);
Real case example
In the following screenshots I have included a real use case. I decide to track the online status of myself and another test account and send a real-time notification to myself with Telegram using a bot. Finally I started the application in a Docker container.
📦 API Reference
RobloxUserOnlineTrackerClient
- instantiable - disposable
Member | Description |
---|---|
RobloxUserOnlineTrackerClient(string cookieValue) |
Initializes the tracker with a Roblox .ROBLOSECURITY cookie. |
void Dispose() |
Releases the resources used by the client instance. |
void StartTracking(long[] userIds, int trackInterval = 5000, CancellationToken cancellationToken = default) |
Begins polling user presence every N milliseconds (minimum 5000). |
void StopTracking() |
Stops polling and clears tracked data. |
Task<RobloxUserOnlinePresence[]> GetUserOnlinePresenceAsync(long[] userIds) |
Manually query user presence without event logic. |
event UserOnlinePresenceChanged |
Fired when a user's online status changes. |
event TrackingErrorOccurred |
Fired when an error occurs during tracking. |
RobloxUserOnlinePresence
- not instantiable - readonly fields - returned
Member | Description |
---|---|
RobloxUser User |
Get the user informations as a RobloxUser object. |
UserPresenceType Presence |
Gets the actual presence of the user. |
string CurrentLocation |
Get the location name where the user is currently located. This information is only available if the user shares this information with you or publicly. |
long? GameId |
Get the location ID where the user is currently located. This information is only available if the user shares this information with you or publicly. |
Guid? GameInstanceId |
Get the instance ID of the location where the user is currently located. It can be used to join the user experience. This information is only available if the user shares this information with you or publicly. |
RobloxUser
- not instantiable - readonly fields
Member | Description |
---|---|
string About |
Get the user about description. |
DateTime Created |
Get the date and time when the user was created. |
bool IsBanned |
Get if the user is banned. |
bool HasVerifiedBadge |
Get if the user has the verified badge. |
long Id |
Get the user ID. |
string Username |
Get the user name. |
string? DisplayName |
Get the user display name. |
🛡 License
Licensed under the Mozilla Public License 2.0 (MPL-2.0).
You are free to use, modify, and distribute the source, provided that modified files are disclosed.
🔗 https://mozilla.org/MPL/2.0/
👨💻 Author
Marco Concas
GitHub
❤️ Support & Contributions
Pull requests and issues are welcome!
If you find this project useful, consider leaving a ⭐ on the repository.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.