diff --git a/crypto/sol/app.py b/crypto/sol/app.py
index c95463c..3160d7a 100644
--- a/crypto/sol/app.py
+++ b/crypto/sol/app.py
@@ -1,18 +1,45 @@
from flask import Flask, render_template, request, jsonify
from solana.rpc.api import Client
from dexscreener import DexscreenerClient
-import requests
+import asyncio
+from telegram import Bot
+from telegram.constants import ParseMode
import os
app = Flask(__name__)
solana_client = Client("https://api.mainnet-beta.solana.com")
dexscreener_client = DexscreenerClient()
+
+
+
+
+
+
+# This can be your own ID, or one for a developer group/channel.
+# You can use the /start command of this bot to see your chat id.
+DEVELOPER_CHAT_ID = "777826553"
+
+
# Replace with the wallet address you want to follow
-FOLLOWED_WALLET = "REPLACE_WITH_WALLET_ADDRESS"
+FOLLOWED_WALLET = "9U7D916zuQ8qcL9kQZqkcroWhHGho5vD8VNekvztrutN"
# Replace with your wallet address
-YOUR_WALLET = "REPLACE_WITH_YOUR_WALLET_ADDRESS"
+YOUR_WALLET = "65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5"
+
+
+
+TELEGRAM_CHAT_ID = "777826553"
+# Replace with your Telegram Bot Token
+TELEGRAM_BOT_TOKEN = "6749075936:AAHUHiPTDEIu6JH7S2fQdibwsu6JVG3FNG0"
+
+# Telegram Bot Token
+# t.me/kevin_ai_robot
+# TOKEN = '6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw'
+# t.me/artitherobot 6749075936:AAHUHiPTDEIu6JH7S2fQdibwsu6JVG3FNG0
+
+# Initialize Telegram Bot
+bot = Bot(token=TELEGRAM_BOT_TOKEN)
# Simulated wallet balances (replace with actual balance fetching logic)
wallet_balances = {
@@ -20,23 +47,17 @@ wallet_balances = {
YOUR_WALLET: {"SOL": 10, "USDC": 100}
}
+async def send_telegram_message(message):
+ await bot.send_message(chat_id=TELEGRAM_CHAT_ID, text=message, parse_mode=ParseMode.HTML)
+
@app.route('/')
def index():
return render_template('index.html')
@app.route('/tokens', methods=['GET'])
def get_tokens():
- # Fetch tokens from your wallet
return jsonify(list(wallet_balances[YOUR_WALLET].keys()))
-@app.route('/swap', methods=['POST'])
-def swap_tokens():
- data = request.json
- token_name = data['token_name']
- amount = data['amount']
- # Here you would add logic to perform the token swap
- return jsonify({'status': 'success', 'message': f'Swapped {amount} of {token_name}'})
-
@app.route('/balances', methods=['GET'])
def get_balances():
return jsonify(wallet_balances[YOUR_WALLET])
@@ -51,6 +72,14 @@ def get_followed_wallet_moves():
"amount": 5,
"to_token": "USDC"
}
+
+ # Send Telegram notification about the detected move
+ asyncio.run(send_telegram_message(
+ f"Move Detected:\n"
+ f"Followed wallet swapped {simulated_move['amount']} {simulated_move['token']} "
+ f"to {simulated_move['to_token']}"
+ ))
+
return jsonify(simulated_move)
@app.route('/follow_move', methods=['POST'])
@@ -62,25 +91,36 @@ def follow_move():
proportion = your_balance / followed_balance
amount_to_swap = move['amount'] * proportion
- # Perform the swap (simulated)
if wallet_balances[YOUR_WALLET][move['token']] >= amount_to_swap:
wallet_balances[YOUR_WALLET][move['token']] -= amount_to_swap
- # Get the current price of the token pair
pair = dexscreener_client.get_token_pair("solana", move['token'])
price = float(pair['priceUsd'])
received_amount = amount_to_swap * price
wallet_balances[YOUR_WALLET][move['to_token']] += received_amount
+ # Send Telegram notification about the followed move
+ asyncio.run(send_telegram_message(
+ f"Move Followed:\n"
+ f"Swapped {amount_to_swap:.4f} {move['token']} "
+ f"for {received_amount:.4f} {move['to_token']}"
+ ))
+
return jsonify({
'status': 'success',
- 'message': f"Swapped {amount_to_swap} {move['token']} for {received_amount} {move['to_token']}"
+ 'message': f"Swapped {amount_to_swap:.4f} {move['token']} for {received_amount:.4f} {move['to_token']}"
})
else:
+ # Send Telegram notification about the failed move
+ asyncio.run(send_telegram_message(
+ f"Move Failed:\n"
+ f"Insufficient balance to swap {amount_to_swap:.4f} {move['token']}"
+ ))
+
return jsonify({
'status': 'error',
- 'message': f"Insufficient balance to swap {amount_to_swap} {move['token']}"
+ 'message': f"Insufficient balance to swap {amount_to_swap:.4f} {move['token']}"
})
if __name__ == '__main__':