分類 程式設計 下的文章

點鏈結並關注 Bot Father https://t.me/BotFather
https://docs.ton.org/develop/dapps/telegram-apps/step-by-step-guide#setting-up-a-bot-for-the-app

創建 bot
/newbot

新增好 bot 後修改 bot 設定
/mybots

點 @stickcody_bot.
bot setting > menu button > edit menu button url

輸入url: https://alnairclt2.wetacoin.com
輸入title: alnair

創建成功
37901-0ek2aeayb0yi.png

切換到 anubis bot
77658-pnocgbevdt.png

點左下角 "alnair"
40515-5mu7wnzjk45.png

可以看到遊戲啟動了
42411-3exowy5nys2.png

$ df -T
先查看要升級的硬碟類型, 看到 /dev/sda2 : xfs 格式
44666-bmnzyvulhz.png

先到 Compute engine 升級硬碟, 選擇硬碟然後選擇 compute engine 對應硬碟, 再點"編輯"
68795-1iaopu5qax4.png

輸入升級後大小
04534-ndse5szdgfi.png

登入 centos 系統, 安裝工具

$ yum install cloud-utils-growpart

擴容分區

$ growpart /dev/sda2

擴容文件系統

$ xfs_growfs -d /dev/sda2

再查看升級後大小

$ df -Th
51343-p795jtv24gc.png

$ lsblk
19059-uj1c6ne7w3e.png

要改成用php發送郵件, 首先要安裝 phpmailer, 執行
$ composer require phpmailer/phpmailer
出現錯誤如下
08126-peiq3jt098k.png

之前項目應該沒初始化過先跑初始化, 所以先執行composer初始化

$ composer install

出現不少錯誤, 後來發現安裝的 composer 版本太高, composer 2.7.9 已經不支持 php 7.4
改回去使用 composer 1 發現版本太低 repo 都不支持, 改用 composer 1.10.27
13168-1raq7jptfy8.png

在這邊下載 composer.phar
41622-o2jbwpwsbi.png

下載後將 composer.phar 放在 composer1.0.27 目錄下, 並新增 composer.bat 在同目錄下, 編輯內容如下:

@echo OFF
: in case DelayedExpansion is on and a path contains !
setlocal DISABLEDELAYEDEXPANSION
php "%~dp0composer.phar" %*

設定 composer 到環境設定 path 下
C:\Users\joker\Downloads\composer1.0.27

在cmd查看版本
$ composer -V
Composer version 1.10.27 2023-09-29 10:50:23

安裝時遇到PHP版本太新的問題, 到 path 裡面修改成 php5.4 的版本, 確認版本調整到 5.4
55461-4yn6waf9ows.png

安裝時遇到擴展問題
08082-6kyznxoiyqm.png

找到 php.ini 開啟 gd 擴展
45055-qpr6yv32bif.png

最後安裝還是發現 repo 不支持 composer1 版本, 試了幾個都不行, 後來發現華為靜像支持
https://mirrors.huaweicloud.com/repository/php

$ composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php

再執行安裝, 通過了
$ composer require phpmailer/phpmailer:*
21910-5xup7g4wgif.png

php發送代碼如下

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = 'smtp.gmail.com';
$mail->SMTPAuth   = true;
$mail->Username   = 'jokerjkeeper@gmail.com';
$mail->Password   = '**** '**** '**** '****';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port       = 465;
$mail->Timeout    = 5;
$mail->setFrom(''****@gmail.com', 'Mailer');
$mail->addAddress($email, 'Joe User');

//Content
$mail->isHTML(true);        
$mail->CharSet = "utf-8";                              
$mail->Subject = '歡迎使用'****'; //'验证你的电子邮件';
$mail->Body    = '歡迎使用'****';
$mail->send();

安裝 apidoc

$ npm install -g apidoc

在 test 目錄下新增 testapi 子目錄, 新增腳本

var Timer = module.exports;

/***********************************
$ cd /d G:\OlgCase\QZ\Capybara\server\apidoc>
$ apidoc -i ..\tests\testapi\ -o D:\temp\apidocs2
***********************************/

/**
 * @apiDefine Err
 *
 * @apiError Err 有些错误发生,具体查看错误码描述
 *
 * @apiErrorExample Error-Response:
get_connector_s2c
{
    msgId = 502;
    errorCode = 0;
    causeMsgId = -1; //引起错误的消息id
    errorMsg = '';
}
 */


/**
@api {socket} get_connector_c2s 获取登入服地址
@apiVersion 1.0.0
@apiName get_connector_c2s
@apiGroup 002.login
@apiDescription 通过网关获取登入服地址
@apiParamExample {json} Request-Example:
get_connector_c2s
{
    msgId = 501;
    userId = '';
}
@apiSuccessExample {json} Success-Response:
get_connector_s2c
{
    msgId = 502;
    ip = '';
    port = '';
}

@apiUse Err
 */
Proto.get_connector_c2s = function() {
    this.msgId = 501;
    this.userId = '';
};

Proto.get_connector_s2c = function() {
    this.msgId = 502;
    this.ip = '';
    this.port = '';

};

輸出apidoc

$ apidoc -i ..\tests\testapi\ -o D:\temp\apidocs2

最終輸出效果如下
61354-ra5s2czrvxk.png

首先要去google 開通兩部驗證
37987-ws94zwqrcwp.png

接著在上面搜索裡面輸入 "應用程式"
65282-0enukcpe1h2s.png

輸入"官網"點建立
72804-69ere9k413x.png

彈出應用程式密碼
11032-vn0jauqocnh.png

$ npm install nodemailer
$ npm install nodemailer-smtp-transport

接下來就是功能

const FROM = 'aaa@gmail.com';
const TO = 'bbb@msn.com';

const transport = nodemailer.createTransport(smtpTransport({
    host: 'smtp.gmail.com', // 服务 由于我用的163邮箱
    port: 465, // smtp端口 默认无需改动
    secure: true,
    auth: {
      user: FROM, // 用户名
      pass: 'xxxxxx' // SMTP授权码
    }
}));

//驗證郵箱合理
if (regEmail.test(TO)){
  let code = randomFns()
  transport.sendMail({
    from: FROM, // 發件郵箱
    to: TO, // 收件列表
    subject: '驗證你的電子郵件', //標題
    html: `
    <p>你好!</p>
    <p>你正在註冊Cocabear社區帳號</p>
    <p>你的驗證碼是:<strong style="color: #ff4e2a;">${code}</strong></p>
    <p>***該驗證碼5分鐘内有效***</p>` // html 内容
  }, 
  function(error, data) {
    console.error("error:", error);
    assert(!error,500,"發送驗證碼錯誤!")
    transport.close();
  })
  //後續工作
  console.log("send success");
}else{
    assert(false,422,'請輸入正確郵件格式!')
}

33666-i9le4i9bhot.png

測試後可以發給外郵