Add TelegramWallet to bots
This commit is contained in:
parent
dd9872bd4a
commit
363986d4fd
@ -32,7 +32,7 @@ class Bot < ActiveRecord::Base
|
|||||||
# eval(IO.read('./app/models/commands/fortune.rb'), binding)
|
# eval(IO.read('./app/models/commands/fortune.rb'), binding)
|
||||||
case message.text
|
case message.text
|
||||||
when /^\/fortune/i
|
when /^\/fortune/i
|
||||||
response_text = `fortune -a`
|
response_text = `fortune`
|
||||||
begin
|
begin
|
||||||
bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: response_text, parse_mode: "Markdown")
|
bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: response_text, parse_mode: "Markdown")
|
||||||
rescue
|
rescue
|
||||||
@ -72,23 +72,37 @@ class Bot < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
case message.text
|
case message.text
|
||||||
when /^\/fortune/i
|
|
||||||
response_text = `fortune`
|
|
||||||
begin
|
|
||||||
bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: response_text, parse_mode: "Markdown")
|
|
||||||
rescue
|
|
||||||
puts "Error from fortune"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
case message.text
|
|
||||||
when /^\/wallet/i, '/mywallet'
|
when /^\/wallet/i, '/mywallet'
|
||||||
# mywallet(message.from.id, bot, message)
|
# mywallet(message.from.id, bot, message)
|
||||||
# unless get_wallet(message.from.id)
|
# unless get_wallet(message.from.id)
|
||||||
# create_wallet(message.from.id, bot, message)
|
# create_wallet(message.from.id, bot, message)
|
||||||
# end
|
# end
|
||||||
|
telegram_wallet = get_or_create_telegram_wallet(message.from.id)
|
||||||
|
response_text = "Hello #{message.from.first_name}
|
||||||
|
ICP Account Id:
|
||||||
|
```
|
||||||
|
#{telegram_wallet.get_icp_id}
|
||||||
|
```
|
||||||
|
ICP Principal:
|
||||||
|
```
|
||||||
|
#{telegram_wallet.get_icp_principal}
|
||||||
|
```
|
||||||
|
"
|
||||||
|
begin
|
||||||
|
bot.api.send_message(chat_id: message.chat.id, reply_to_message_id: message.message_id, text: response_text, parse_mode: "Markdown")
|
||||||
|
rescue
|
||||||
|
puts "Error from mywallet"
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_or_create_telegram_wallet(telegram_id)
|
||||||
|
telegram_wallet = TelegramWallet.where(telegram_id: telegram_id).first_or_initialize
|
||||||
|
telegram_wallet.save
|
||||||
|
return telegram_wallet
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
class TelegramWallet < ActiveRecord::Base
|
class TelegramWallet < ActiveRecord::Base
|
||||||
def icprincipal
|
def get_icp_principal
|
||||||
return self.icp_principal if self.icp_principal
|
return self.icp_principal if self.icp_principal
|
||||||
if self.icp_id.nil?
|
if self.icp_id.nil?
|
||||||
if !self.telegram_id.nil?
|
if !self.telegram_id.nil?
|
||||||
@ -27,7 +27,7 @@ class TelegramWallet < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
return self.icp_principal
|
return self.icp_principal
|
||||||
end
|
end
|
||||||
def icid
|
def get_icp_id
|
||||||
return self.icp_id if self.icp_id
|
return self.icp_id if self.icp_id
|
||||||
if self.icp_principal.nil?
|
if self.icp_principal.nil?
|
||||||
if !self.telegram_id.nil?
|
if !self.telegram_id.nil?
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
class CreateTelegramWallet < ActiveRecord::Migration[6.1]
|
class CreateTelegramWallet < ActiveRecord::Migration[6.1]
|
||||||
def change
|
def change
|
||||||
create_table :telegram_wallets do |t|
|
create_table :telegram_wallets do |t|
|
||||||
t.integer :telegram_id, null: false
|
t.string :telegram_id, null: false
|
||||||
t.string :icp_id
|
t.string :icp_id
|
||||||
t.string :icp_principal
|
t.string :icp_principal
|
||||||
|
|
||||||
|
|||||||
@ -203,7 +203,7 @@ ActiveRecord::Schema.define(version: 2023_12_01_182512) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
create_table "telegram_wallets", force: :cascade do |t|
|
create_table "telegram_wallets", force: :cascade do |t|
|
||||||
t.integer "telegram_id", null: false
|
t.string "telegram_id", null: false
|
||||||
t.string "icp_id"
|
t.string "icp_id"
|
||||||
t.string "icp_principal"
|
t.string "icp_principal"
|
||||||
t.datetime "created_at", precision: 6, null: false
|
t.datetime "created_at", precision: 6, null: false
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user