{"id":19139654,"url":"https://github.com/patrulek/trojanbotproxy","last_synced_at":"2026-01-30T07:12:45.201Z","repository":{"id":261868329,"uuid":"885326618","full_name":"patrulek/TrojanBotProxy","owner":"patrulek","description":"TrojanBotProxy speeds up token pasting process into Telegram TrojanBot","archived":false,"fork":false,"pushed_at":"2024-11-17T09:00:49.000Z","size":88,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T15:31:27.699Z","etag":null,"topics":["bot","go","golang","pumpfun","raydium","solana","telegram","trading","tradingbot","trojan"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrulek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-08T11:23:12.000Z","updated_at":"2024-12-14T12:56:42.000Z","dependencies_parsed_at":"2025-02-22T18:44:45.710Z","dependency_job_id":"da66e3e3-9f47-4ca4-86a5-7d56aac49e23","html_url":"https://github.com/patrulek/TrojanBotProxy","commit_stats":null,"previous_names":["patrulek/trojanbotproxy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patrulek/TrojanBotProxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrulek%2FTrojanBotProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrulek%2FTrojanBotProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrulek%2FTrojanBotProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrulek%2FTrojanBotProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrulek","download_url":"https://codeload.github.com/patrulek/TrojanBotProxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrulek%2FTrojanBotProxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260094372,"owners_count":22957856,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","go","golang","pumpfun","raydium","solana","telegram","trading","tradingbot","trojan"],"created_at":"2024-11-09T07:14:31.181Z","updated_at":"2026-01-30T07:12:45.135Z","avatar_url":"https://github.com/patrulek.png","language":"Go","readme":"# TrojanBotProxy\n\nMinimal example for working with [TrojanBot Telegram bot](https://x.com/TrojanOnSolana) via code. This example allows you to buy tokens via TrojanBot by pasting token addresses to the console or by configuring HTTP data source that will be polled periodically and response will be fed to TrojanBot channel automatically.\n\n## Build and run\n\nIf you want to build it from source, download Go toolchain and write\n\n```console\ngo build .\n```\n\nin the console, then run executable.\n\nIf you want to run it from source, download Go toolchain and write\n\n```console\ngo run .\n```\n\nin the console.\n\n## Configuration\n\n`config.toml` is provided to setup application id and application hash that are obtainable from [this link](https://my.telegram.org/apps). In addition to that, phone number and TrojanBot telegram contact name is also required.\n\nYou can also use this file to configure HTTP data source.\n\n- `host` + `port` + `method` + `params` - these will be combined into single URI that will be then polled periodically; example:\n  - `host` = `\"http://example.com\"`\n  - `port` = `1234`\n  - `method` = `\"retrievetokens\"`\n  - `params` = `{ mcap = \"10000\" }`\n\n  Will be combined into: `http://example.com:1234/retrievetokens?mcap=10000`\n- `auth` - authentication method; the only supported auth context is `header`; if that auth context is used, every request sent to data source will be decorated by HTTP header with key equals to `name` and its value equal to `value` object values; example:\n  - `auth` = `{ context = \"header\", name = \"X-API-KEY\", value = \"api-key\" }`\n\n  Will add `X-API-KEY = api-key` header to request\n- `interval` - data source polling interval; its format is same as Golang's `time.Duration` format (eg. `5s`, `1m`)\n- `token_path` - json path to token address value returned by data source; application expect that data source response is array of objects, and `token_path` will try to get token address value for every object at this option value; example:\n  - `token_path` = `\"taddr\"`\n  \n  With data source response equal to: `[ {\"taddr\": \"tokenpubkey1\", \"mcap\": 12345}, {\"taddr\": \"tokenpubkey2\", \"mcap\": 54321} ]`\n  Application will retrieve: `[\"tokenpubkey1\", \"tokenpubkey2\"]` values and will treat them as token addresses and will pass them to TrojanBot telegram channel.\n\n## Quick start\n\nProgram will load `config.toml` file, start HTTP data source polling thread (if configured) and then try to log in to Telegram account. User will be asked for login code and 2FA code (if setup for account). After successful authentication:\n- if HTTP data source is configured, application will automatically poll data source for tokens to buy and then pass them to TrojanBot channel\n- if no HTTP data source configured, user will be repeatadly asked for a token address to buy by bot; inserting `quit` or `exit` will disconnect session and terminate program\n\nApplication expects that TrojanBot was configured with `autobuy` option.\nApplication will never buy same token twice (in the same session; it doesnt have any storage so restarting process will make this possible).\nAfter pasting token into the TrojanBot channel it waits for confirmation by parsing TrojanBot reply messages.\n\n## Sample output\n\n```console\nEnter code: 76016\nEnter token address: 6aGXXVT9AMY9jJTt7DRVkfv6WqpmTcggFVKrDwBAFpVM\n2024/11/08 14:34:20 INFO failed to buy token error=\"insufficient balance: Buy $TOKEN — (TOKEN) 📈 • 🫧\\n6aGXXVT9AMY9jJTt7DRVkfv6WqpmTcggF\nVKrDwBAFpVM\\nShare token with your Reflink\\n\\nBalance: 0.003 SOL — W1 ✏️\\nPrice: ░░░░░░░░ — LIQ: ░░░░░ — MC: ░░░░░\\n1h: ░░░░ — 24h: ░░░░\\nRenounced ✅\\n\\n\\n🔴 Insufficient balance for buy amount + gas\"\n```\n\n## Use case\n\nThis repo serves as a base for being a proxy to TrojanBot Telegram bot. Assuming you have a good source of tokens to buy, this application just speed up a process to paste their addresses into TrojanBot, comparing to using TrojanBot manually.\n\nBe aware that this repo is only minimal example and should be treated as proof of concept, not finished product. Additionally you still need to manually set up TrojanBot like autosell conditions, setup wallets etc.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrulek%2Ftrojanbotproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrulek%2Ftrojanbotproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrulek%2Ftrojanbotproxy/lists"}