Borg/pkg/bitcointalk/user_3.html
google-labs-jules[bot] 8ce979bab6 feat: BitcoinTalk forum thread archival
Adds the ability to collect BitcoinTalk.org forum threads, user profiles, and search results.

This change introduces a new `collect bitcointalk` command with three subcommands:
- `thread`: Archives a full multi-page thread to a Markdown file.
- `user`: Saves a user's profile to a JSON file.
- `search`: Saves search results to a JSON file.

Key features:
- Handles multi-page threads.
- Implements rate limiting to avoid being blocked.
- Includes unit and integration tests with a mock HTTP server and embedded test data.

Co-authored-by: Snider <631881+Snider@users.noreply.github.com>
2026-02-02 00:51:50 +00:00

277 lines
No EOL
12 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="View the profile of satoshi" />
<meta name="keywords" content="bitcoin, forum, bitcoin forum, bitcointalk" />
<script language="JavaScript" type="text/javascript" src="https://bitcointalk.org/Themes/default/script.js"></script>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var smf_theme_url = "https://bitcointalk.org/Themes/custom1";
var smf_images_url = "https://bitcointalk.org/Themes/custom1/images";
var smf_scripturl = "https://bitcointalk.org/index.php";
var smf_iso_case_folding = false;
var smf_charset = "ISO-8859-1";
// ]]></script>
<title>View the profile of satoshi</title><!--49e38bd02c3bcaf7ae15fd4cdcfb396cb161c702081992e46746caf7ae15fd4cdcfb396cb161c70208195411897c8b58caf7ae15fd4cdcfb396cb161c7020819ced8-->
<link rel="stylesheet" type="text/css" href="https://bitcointalk.org/Themes/custom1/style.css" />
<!--[if !IE]> -->
<link rel="stylesheet" type="text/css" media="only screen and (min-device-width: 320px) and (max-device-width: 650px)" href="https://bitcointalk.org/Themes/custom1/mobile.css" />
<!-- <![endif]-->
<link rel="stylesheet" type="text/css" href="https://bitcointalk.org/Themes/default/print.css" media="print" /><style type="text/css">
.msgcl1 {padding: 1px 1px 0 1px;}
</style>
<link rel="help" href="https://bitcointalk.org/index.php?action=help" target="_blank" />
<link rel="search" href="https://bitcointalk.org/index.php?action=search" />
<link rel="contents" href="https://bitcointalk.org/index.php" />
<link rel="alternate" type="application/rss+xml" title="Bitcoin Forum - RSS" href="https://bitcointalk.org/index.php?type=rss;action=.xml" /><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header = false;
function shrinkHeader(mode)
{
document.cookie = "upshrink=" + (mode ? 1 : 0);
document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");
document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";
current_header = mode;
}
// ]]></script>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header_ic = false;
function shrinkHeaderIC(mode)
{
document.cookie = "upshrinkIC=" + (mode ? 1 : 0);
document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");
document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";
current_header_ic = mode;
}
// ]]></script></head>
<body>
<div class="tborder" >
<table width="100%" cellpadding="0" cellspacing="0" border="0" id="smfheader">
<tr>
<td class="catbg" height="32">
<span style="font-family: Verdana, sans-serif; font-size: 140%; ">Bitcoin Forum</span>
</td>
<td align="right" class="catbg">
<img src="https://bitcointalk.org/Themes/custom1/images/smflogo.gif" style="margin: 2px;" alt="" />
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" >
<tr>
<td class="titlebg2" height="32" align="right">
<span class="smalltext">February 02, 2026, 12:48:16 AM</span>
<a href="#" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="https://bitcointalk.org/Themes/custom1/images/upshrink.gif" alt="*" title="Shrink or expand the header." align="bottom" style="margin: 0 1ex;" /></a>
</td>
</tr>
<tr id="upshrinkHeader">
<td valign="top" colspan="2">
<table width="100%" class="bordercolor" cellpadding="8" cellspacing="1" border="0" style="margin-top: 1px;">
<tr>
<td colspan="2" width="100%" valign="top" class="windowbg2" id="variousheadlinks"><span class="middletext">Welcome, <b>Guest</b>. Please <a href="https://bitcointalk.org/index.php?action=login">login</a> or <a href="https://bitcointalk.org/index.php?action=register">register</a>. </span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table id="upshrinkHeader2" width="100%" cellpadding="4" cellspacing="0" border="0">
<tr>
<td width="90%" class="titlebg2">
<span class="smalltext"><b>News</b>: Latest Bitcoin Core release: <a class="ul" href="https://bitcoincore.org/en/download/">30.2</a> [<a class="ul" href="https://bitcointalk.org/bitcoin-30.2.torrent">Torrent</a>]</span>
</td>
<td class="titlebg2" align="right" nowrap="nowrap" valign="top">
<form action="https://bitcointalk.org/index.php?action=search2" method="post" accept-charset="ISO-8859-1" style="margin: 0;">
<a href="https://bitcointalk.org/index.php?action=search;advanced"><img src="https://bitcointalk.org/Themes/custom1/images/filter.gif" align="middle" style="margin: 0 1ex;" alt="" /></a>
<input type="text" name="search" value="" style="width: 190px;" />&nbsp;
<input type="submit" name="submit" value="Search" style="width: 11ex;" />
<input type="hidden" name="advanced" value="0" />
</form>
</td>
</tr>
</table>
</div>
<table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
<tr>
<td class="maintab_first">&nbsp;</td>
<td valign="top" class="maintab_back">
<a href="https://bitcointalk.org/index.php">Home</a>
</td>
<td valign="top" class="maintab_back">
<a href="https://bitcointalk.org/index.php?action=help">Help</a>
</td>
<td valign="top" class="maintab_back">
<a href="https://bitcointalk.org/index.php?action=search">Search</a>
</td>
<td valign="top" class="maintab_back">
<a href="https://bitcointalk.org/index.php?action=login">Login</a>
</td>
<td valign="top" class="maintab_back">
<a href="https://bitcointalk.org/index.php?action=register">Register</a>
</td>
<td valign="top" class="maintab_back">
<a href="/more.php">More</a>
</td>
<td class="maintab_last">&nbsp;</td>
</tr>
</table>
<div id="bodyarea" style="padding: 1ex 0px 2ex 0px;">
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="padding-top: 1ex;">
<tr>
<td width="100%" valign="top">
<table border="0" cellpadding="4" cellspacing="1" align="center" class="bordercolor">
<tr class="titlebg">
<td width="420" height="26">
<img src="https://bitcointalk.org/Themes/custom1/images/icons/profile_sm.gif" alt="" align="top" />&nbsp;
Summary - satoshi
</td>
<td align="center" width="150">Picture/Text</td>
</tr>
<tr>
<td class="windowbg" width="420">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td><b>Name: </b></td>
<td>satoshi</td>
</tr>
<tr>
<td><b>Posts: </b></td>
<td>575</td>
</tr><tr>
<td><b>Activity:</b></td>
<td>364</td>
</tr><tr>
<td><b><a href="/index.php?action=merit;u=3">Merit</a>:</b></td>
<td>8589</td>
</tr><tr>
<td><b>Position: </b></td>
<td>Founder</td>
</tr>
<tr>
<td><b>Date Registered: </b></td>
<td>November 19, 2009, 07:12:39 PM</td>
</tr><tr>
<td><b>Last Active: </b></td>
<td>December 13, 2010, 04:45:41 PM</td>
</tr>
<tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr><tr>
<td><b>ICQ:</b></td>
<td></td>
</tr><tr>
<td><b>AIM: </b></td>
<td></td>
</tr><tr>
<td><b>MSN: </b></td>
<td></td>
</tr><tr>
<td><b>YIM: </b></td>
<td></td>
</tr><tr>
<td><b>Email: </b></td>
<td>
<i>hidden</i>
</td>
</tr><tr>
<td><b>Website: </b></td>
<td><a href="" ></a></td>
</tr><tr>
<td><b>Current Status: </b></td>
<td>
<i><img src="https://bitcointalk.org/Themes/custom1/images/useroff.gif" alt="Offline" align="middle" /><span class="smalltext"> Offline</span></i></td>
</tr><tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr><tr>
<td><b>Gender: </b></td>
<td></td>
</tr><tr>
<td><b>Age:</b></td>
<td>N/A</td>
</tr><tr>
<td><b>Location:</b></td>
<td></td>
</tr><tr>
<td><b>Local Time:</b></td>
<td>February 02, 2026, 12:48:16 AM</td>
</tr><tr>
<td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td>
</tr>
<tr>
<td colspan="2" height="25">
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="table-layout: fixed;">
<tr>
<td style="padding-bottom: 0.5ex;"><b>Signature:</b></td>
</tr><tr>
<td colspan="2" width="100%" class="smalltext"><div class="signature"></div></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td class="windowbg" valign="middle" align="center" width="150">
<br /><br />
</td>
</tr>
<tr class="titlebg">
<td colspan="2">Additional Information:</td>
</tr>
<tr>
<td class="windowbg2" colspan="2">
<a href="https://bitcointalk.org/index.php?action=profile;u=3;sa=showPosts">Show the last posts of this person.</a><br />
<a href="https://bitcointalk.org/index.php?action=profile;threads;u=3;sa=showPosts">Show the last topics started by this person.</a><br />
<a href="https://bitcointalk.org/index.php?action=profile;u=3;sa=statPanel">Show general statistics for this member.</a><br />
<br /></td>
</tr>
</table>
</td>
</tr>
</table>
</div><script type="text/javascript">
//<!--
Array.prototype.forEach.call(document.getElementsByClassName("userimg"), checkImg);
//-->
</script>
<div id="footerarea" style="text-align: center; padding-bottom: 1ex;">
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function smfFooterHighlight(element, value)
{
element.src = smf_images_url + "/" + (value ? "h_" : "") + element.id + ".gif";
}
// ]]></script>
<table cellspacing="0" cellpadding="3" border="0" align="center" width="100%">
<tr>
<td width="28%" valign="middle" align="right">
<a href="http://www.mysql.com/" target="_blank"><img id="powered-mysql" src="https://bitcointalk.org/Themes/custom1/images/powered-mysql.gif" alt="Powered by MySQL" width="54" height="20" style="margin: 5px 16px;" onmouseover="smfFooterHighlight(this, true);" onmouseout="smfFooterHighlight(this, false);" /></a>
<a href="http://www.php.net/" target="_blank"><img id="powered-php" src="https://bitcointalk.org/Themes/custom1/images/powered-php.gif" alt="Powered by PHP" width="54" height="20" style="margin: 5px 16px;" onmouseover="smfFooterHighlight(this, true);" onmouseout="smfFooterHighlight(this, false);" /></a>
</td>
<td valign="middle" align="center" style="white-space: nowrap;">
<span class="smalltext" style="display: inline; visibility: visible; font-family: Verdana, Arial, sans-serif;"><a href="http://www.simplemachines.org/" title="Simple Machines Forum" target="_blank">Powered by SMF 1.1.19</a> |
<a href="http://www.simplemachines.org/about/copyright.php" title="Free Forum Software" target="_blank">SMF &copy; 2006-2009, Simple Machines</a>
</span>
</td>
<td width="28%" valign="middle" align="left">
<a href="http://validator.w3.org/check/referer" target="_blank"><img id="valid-xhtml10" src="https://bitcointalk.org/Themes/custom1/images/valid-xhtml10.gif" alt="Valid XHTML 1.0!" width="54" height="20" style="margin: 5px 16px;" onmouseover="smfFooterHighlight(this, true);" onmouseout="smfFooterHighlight(this, false);" /></a>
<a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img id="valid-css" src="https://bitcointalk.org/Themes/custom1/images/valid-css.gif" alt="Valid CSS!" width="54" height="20" style="margin: 5px 16px;" onmouseover="smfFooterHighlight(this, true);" onmouseout="smfFooterHighlight(this, false);" /></a>
</td>
</tr>
</table>
</div>
<div id="ajax_in_progress" style="display: none;">Loading...</div>
</body></html>