я решил сделать бота который будет отправлять приложение к которому привязан user_id телеграма, и отображалось в TextView я пытался сделать так :
@dp.message_handler(commands=['send_apk'])
async def send_apk(msg: types.Message):
user_id = msg.from_user.id
apk_file_path = "Dionis"
with open(apk_file_path, 'rb') as apk_file:
await bot.send_document(user_id, apk_file)
@dp.message_handler(commands=['bind_apk'])
async def bind_apk(msg: types.Message):
try:
apk_file_name = msg.text.split()[1]
user_id = str(msg.from_user.id)
apk_id = str(msg.from_user.id)
apk_ref = fb.reference('/apkFiles/' + apk_id)
apk_ref.child("telegramUserId").set(user_id)
await msg.reply("ID вашего телеграм-пользователя успешно привязан к APK-файлу.")
except IndexError:
await msg.reply("Вы не указали имя файла APK.")
except Exception as e:
await msg.reply(f"Ошибка при привязке приложения: {e}")
class MainActivity : AppCompatActivity() {
// private lateinit var webView: WebView
private val telegram = TelegramMessenger("token")
@SuppressLint("MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.test)
val database = Firebase.database
val myRef = database.getReference("apkFiles").child("Dionis")
val tv: TextView = findViewById(R.id.text)
myRef.addValueEventListener(object: ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
val userId = snapshot.child("telegramUserId").getValue(String::class.java)
if (userId != null) {
tv.text=userId
telegram.sendMessage(userId, userId)
}
}
override fun onCancelled(error: DatabaseError) {
// Обработка ошибок при чтении данных из Firebase Realtime Database
}
})
}
}