ignored one bot by adding a global list of bot id's

This commit is contained in:
vishalxl 2022-08-08 16:44:42 +05:30
parent 0d07600066
commit 7bc148fd4e
3 changed files with 47 additions and 8 deletions

View File

@ -5,8 +5,8 @@ import 'package:args/args.dart';
var userPublickey = "3235036bd0957dfb27ccda02d452d7c763be40c91a1ac082ba6983b25238388c"; // vishalxl
// var userPublickey = "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245"; // jb55
// var userPublickey = "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"; // fiatjaf
//var userPublickey = "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245"; // jb55
//var userPublickey = "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d"; // fiatjaf
// program arguments
const request = "request";
@ -34,6 +34,8 @@ void printEventsAsTree(events) {
node.printTree(0, true);
print('\n\n===================summary=================');
//printUserInfo(events, "32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245");
print('\nnumber of all events : ${events.length}');
print("number or events of kind 0: ${gKindONames.length}");
}
@ -61,10 +63,15 @@ Future<void> main(List<String> arguments) async {
// then display them all
getUserEvents(defaultServerUrl, userPublickey, events, 300);
const int numWaitSeconds = 3000;
print('waiting for user events to come in');
Future.delayed(const Duration(milliseconds: numWaitSeconds), () {
int numUserEvents = 0, numFeedEvents = 0, numOtherEvents = 0;
const int numWaitSeconds = 3000;
print('waiting for user events to come in....');
Future.delayed(const Duration(milliseconds: numWaitSeconds * 2), () {
// count user events
events.forEach((element) { element.eventData.kind == 1? numUserEvents++: numUserEvents;});
// get user's feed ( from follows by looking at kind 3 event)
for( int i = 0; i < events.length; i++) {
var e = events[i];
if( e.eventData.kind == 3) {
@ -73,17 +80,30 @@ Future<void> main(List<String> arguments) async {
}
}
print('waiting for feed to come in');
Future.delayed(const Duration(milliseconds: numWaitSeconds), () {
print('waiting for feed to come in.....');
Future.delayed(const Duration(milliseconds: numWaitSeconds * 2), () {
// count feed events
events.forEach((element) { element.eventData.kind == 1? numFeedEvents++: numFeedEvents;});
numFeedEvents = numFeedEvents - numUserEvents;
// get mentioned ptags, and then get the events for those users
List<String> pTags = getpTags(events);
print("Total number of pTags = ${pTags.length}\n");
for(int i = 0; i < pTags.length; i++) {
getUserEvents( defaultServerUrl, pTags[i], events, 300);
}
print('waiting for rest of events to come in....');
Future.delayed(const Duration(milliseconds: numWaitSeconds), () {
// count other events
events.forEach((element) { element.eventData.kind == 1? numOtherEvents++: numOtherEvents;});
numOtherEvents = numOtherEvents - numFeedEvents - numUserEvents;
printEventsAsTree(events);
print("number of user events : $numUserEvents");
print("number of feed events : $numFeedEvents");
print("number of other events : $numOtherEvents");
exit(0);
});
});

View File

@ -11,6 +11,8 @@ String defaultServerUrl = 'wss://nostr-relay.untethr.me';
Map<String, String> gKindONames = {};
List<String> gBots = ["3b57518d02e6acfd5eb7198530b2e351e5a52278fb2499d14b66db2b5791c512"];
void getNames(Event e) {
if( e.eventData.kind != 0) {
return;
@ -42,6 +44,16 @@ String getAuthorName(String pubkey) {
return name;
}
void printUserInfo(List<Event> events, String pub) {
int numUserEvents = 0;
for(int i = 0; i < events.length; i++) {
if( events[i].eventData.pubkey == pub && events[i].eventData.kind == 1) {
numUserEvents++;
}
}
print("Number of user events for user ${getAuthorName(pub)} : $numUserEvents");
}
void printDepth(int d) {
if( d == 0) {
return;

View File

@ -33,6 +33,13 @@ class Relays {
*/
void gerUserEvents(String relay, String publicKey, List<Event> events, int numEventsToGet) {
for(int i = 0; i < gBots.length; i++) {
if( publicKey == gBots[i]) {
print("In gerUserEvents: ignoring bot: $publicKey");
return;
}
}
// following is too restrictive. TODO improve it
for(int i = 0; i < users.length; i++) {
if( users[i] == publicKey) {