mirror of
https://github.com/vishalxl/nostr_console.git
synced 2025-07-03 03:56:26 +02:00
processed kind 0 events to populate a global name map, which is used to print user names. formatting changes too.
This commit is contained in:
@ -10,7 +10,11 @@ var userPublickey = "3235036bd0957dfb27ccda02d452d7c763be40c91a1ac082ba6983b2
|
|||||||
|
|
||||||
const request = "request";
|
const request = "request";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void printEventsAsTree(events) {
|
void printEventsAsTree(events) {
|
||||||
|
events.forEach( (x) => getNames(x));
|
||||||
|
|
||||||
if( events.length == 0) {
|
if( events.length == 0) {
|
||||||
print("events length = 0");
|
print("events length = 0");
|
||||||
return;
|
return;
|
||||||
@ -27,7 +31,9 @@ void printEventsAsTree(events) {
|
|||||||
node.printTree(0, true);
|
node.printTree(0, true);
|
||||||
|
|
||||||
print('\nnumber of all events: ${events.length}');
|
print('\nnumber of all events: ${events.length}');
|
||||||
|
print("number or names kind 0: ${gKindONames.length}");
|
||||||
|
|
||||||
|
//print(gKindONames);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> main(List<String> arguments) async {
|
Future<void> main(List<String> arguments) async {
|
||||||
|
@ -9,6 +9,30 @@ const int spacesPerDepth = 8;
|
|||||||
int keyLenPrinted = 6;
|
int keyLenPrinted = 6;
|
||||||
String defaultServerUrl = 'wss://nostr.onsats.org';
|
String defaultServerUrl = 'wss://nostr.onsats.org';
|
||||||
|
|
||||||
|
Map<String, String> gKindONames = {};
|
||||||
|
|
||||||
|
void getNames(Event e) {
|
||||||
|
print("In getNames: for event content: ${e.eventData.content}");
|
||||||
|
//e.printEvent(0);
|
||||||
|
if( e.eventData.kind == 0) {
|
||||||
|
String name = "";
|
||||||
|
String content = e.eventData.content;
|
||||||
|
if( content.isEmpty) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dynamic json = jsonDecode(content);
|
||||||
|
|
||||||
|
gKindONames[e.eventData.pubkey] = json["name"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String getAuthorName(String pubkey) {
|
||||||
|
String max3(String v) => v.length > 3? v.substring(0,3) : v.substring(0, v.length);
|
||||||
|
String name = max3(pubkey);
|
||||||
|
name = gKindONames[pubkey]??name;
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
void printDepth(int d) {
|
void printDepth(int d) {
|
||||||
if( d == 0) {
|
if( d == 0) {
|
||||||
return;
|
return;
|
||||||
@ -148,15 +172,16 @@ class EventData {
|
|||||||
print("debug: createdAt == 0 for event $content");
|
print("debug: createdAt == 0 for event $content");
|
||||||
}
|
}
|
||||||
|
|
||||||
content = rightShiftContent(content, spacesPerDepth * depth + 10);
|
String contentShifted = rightShiftContent(content, spacesPerDepth * depth + 10);
|
||||||
void printGreen(String s) => stdout.write("\x1B[32m$s\x1B[0m");
|
void printGreen(String s) => stdout.write("\x1B[32m$s\x1B[0m");
|
||||||
printDepth(depth);
|
printDepth(depth);
|
||||||
stdout.write("+-------+-------------\n");
|
stdout.write("+-------+-------------\n");
|
||||||
printDepth(depth);
|
printDepth(depth);
|
||||||
stdout.write("|Message: ");
|
stdout.write("|Message: ");
|
||||||
printGreen("$content\n");
|
printGreen("$contentShifted\n");
|
||||||
printDepth(depth);
|
printDepth(depth);
|
||||||
stdout.write("|Author : ${max3(pubkey)}\n");
|
String name = getAuthorName(pubkey);
|
||||||
|
stdout.write("|Author : $name\n");
|
||||||
printDepth(depth);
|
printDepth(depth);
|
||||||
stdout.write("|\n");
|
stdout.write("|\n");
|
||||||
printDepth(depth);
|
printDepth(depth);
|
||||||
@ -330,7 +355,20 @@ void printEvents(List<Event> events) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* reply/root example for e tag
|
/*
|
||||||
|
kind 0 event
|
||||||
|
{
|
||||||
|
"id": "63de3e2fe397fedef9d8f1937e8c7f73727bd6410d2e7578eb348d4ee059feaf",
|
||||||
|
"pubkey": "004db7605cfeba09b15625deb77c9369029f370591d68231b7c4dfd43f8f6f4f",
|
||||||
|
"created_at": 1659944329,
|
||||||
|
"kind": 0,
|
||||||
|
"tags": [],
|
||||||
|
"content": "{\"name\":\"IrredeemablePussy@minds.com\",\"about\":\"\",\"picture\":\"https://www.minds.com/icon/742483671239368719/medium/1502397901/1659944329/1659944329\"}",
|
||||||
|
"sig": "c500f7f8e27c3d1a41ed196931f66253cdd42dbb1e53b15fd1916da5c261b4d0e06d0008b39016775b3be56e6397c8d747d98174106f04c5874650fbe9d930b0"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
reply/root example for e tag
|
||||||
{
|
{
|
||||||
"id": "4019debf44a087b973b7d8776e7ce74ee84a15e9c3dbed0b60dfdec23d170911",
|
"id": "4019debf44a087b973b7d8776e7ce74ee84a15e9c3dbed0b60dfdec23d170911",
|
||||||
"pubkey": "2ef93f01cd2493e04235a6b87b10d3c4a74e2a7eb7c3caf168268f6af73314b5",
|
"pubkey": "2ef93f01cd2493e04235a6b87b10d3c4a74e2a7eb7c3caf168268f6af73314b5",
|
||||||
|
Reference in New Issue
Block a user