java 开发小i机器人

java wechat robot java版微信机器人 所以在这里我们只要通过hook的方式去hook本地的微信的某些方法,比如发送消息接受消息等一些api可以说pc端可以实现的功能我们这里都可以实现的,再然后把这些方法通过websocket的方式暴漏出来以共我们Java调用。2.public void sendAtTextMessage(String wxid, String atWxid,String nickname, String content)发送@消息传入接受人的微信id,@人的微信id,@人的微信昵称,将要发送的文本。 阅读详情

偶然看到这个东东。感觉很好玩。先试试!!

------------------------------------------------------------分隔线就是我-------------------------------------------------------

说明:先将java msn里的lib导入的包里,然后使用下面的代码,这个代码完成MSN机器人的操作。

(可能有比较笨的方法,变量方法的命名也不规范,还请指正,如果哪位会设置头像或建立数据库连接池请说说怎么做,现在这个机器人不能支持很多人,谢谢)

import java.sql.*;
import java.net.*;
import rath.msnm.*;
import rath.msnm.MSNMessenger;
import rath.msnm.SwitchboardSession;
import rath.msnm.UserStatus;
import rath.msnm.entity.Group;
import rath.msnm.entity.MsnFriend;
import rath.msnm.event.MsnAdapter;
import rath.msnm.msg.MimeMessage;
import java.util.*;
import com.google.soap.search.*;
import com.google.soap.search.GoogleSearch;
import com.google.soap.search.GoogleSearchResult;
import java.io.*;

/**
* MSN消息事件处理类
* @author 瞄瞄,wensi
*/
public class MSNAdapter
extends MsnAdapter {
   MsnIn msnin = new MsnIn();
   static String searchcon;
   static String firstfriend;
   static String friendlist;
   String rewa = "";
   String msg3;
   MSNMessenger messenger;
   String url = "jdbc:odbc:chat";   ////数据源
   String login = "";          //用户名
   String password = "";    //密码
   Connection connection = null; // 声明Connection接口对象connection
   ResultSet rSet = null; // 定义数据库查询的结果集
   ResultSet keySet = null;
   Statement statement = null; // 定义查询数据库的Statement对象

   public MSNAdapter(MSNMessenger messenger) {
this.messenger = messenger;
   }

   public void msnmsg(String msg) {
msg3 = msg;
msnin.textArea2.append(msg3 + "
");
   }

   /**
* 某人正在输入信息
*/
   public void progressTyping(
   SwitchboardSession ss,
   MsnFriend friend,
   String typingUser) {

System.out.println(friend.getLoginName() + "正在输入信息...");
   }

   /**
* 收到消息的时候执行该方法
*/
   public void instantMessageReceived(
   SwitchboardSession ss,
   MsnFriend friend,
   MimeMessage mime) {
System.out.print("接收到消息:" + friend.getFriendlyName() + "->");
System.out.println(mime.getMessage());
msnmsg(friend.getFriendlyName() + "说:" + mime.getMessage());

int first = 0;
if (firstfriend != null) {
   StringTokenizer stt = new StringTokenizer(firstfriend, "$");
   String[] subStrt2 = new String[stt.countTokens()];
   int a = 0;
   for (int i = 0; i < subStrt2.length; i++) {
       subStrt2[i] = stt.nextToken();
       if (subStrt2[i].equals(friend.getLoginName())) {
      a = 1;
      break;
       }
   }
   if (a == 0) {
       firstfriend = firstfriend + "$" + friend.getLoginName();
       first = 1;
       try {
      mime.setMessage("|0_0| 我是机器人瞄,如果想问我问题请尽管问
(co) 如果你想告诉我些知识请按照: study,问题内容,答案内容 的格式告诉我
(I) 如果想使用google搜索请输入: google,搜索内容
:-D 帮助请输入: help或?
(M) 想和我的开发人员说话请加:icejmx@msn.com, wensi_feng@hotmail.com");
      messenger.sendMessage(friend.getLoginName(), mime);
      msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:帮助");

       }
       catch (IOException ex1) {}
   }
}
else {
   firstfriend = firstfriend + "$" + friend.getLoginName();
   first = 1;
   try {
       mime.setMessage("|0_0| 我是机器人瞄,如果想问我问题请尽管问
(co) 如果你想告诉我些知识请按照: study,问题内容,答案内容 的格式告诉我
(I) 如果想使用google搜索请输入: google,搜索内容
:-D 帮助请输入: help或?
(M) 想和我的开发人员说话请加:icejmx@msn.com, wensi_feng@hotmail.com");
       messenger.sendMessage(friend.getLoginName(), mime);
       msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:帮助");
   }
   catch (IOException ex1) {}
}
if (first == 0) { //对话开始
   if (mime.getMessage().equals("help") || mime.getMessage().equals("帮助") ||
      mime.getMessage().equals("?")) { //是否帮助
       mime.setMessage("|0_0| 我是机器人瞄,如果想问我问题请尽管问
(co) 如果你想告诉我些知识请按照: study,问题内容,答案内容 的格式告诉我
(I) 如果想使用google搜索请输入: google,搜索内容
:-D 帮助请输入: help或?
(M) 想和我的开发人员说话请加:icejmx@msn.com, wensi_feng@hotmail.com");
       msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:帮助");
   }
   else { //是否帮助
       if (mime.getMessage().indexOf(",") > 0) { //判断模式开始
      StringTokenizer ms = new StringTokenizer(mime.getMessage(), ",");
      int mspart;
      mspart = ms.countTokens();
      String[] message = new String[ms.countTokens()];
      for (int i = 0; i < message.length; i++) {
         message[i] = ms.nextToken();
      }
      if ( (mspart == 3) && (message[0].equals("学习")) ||
             (message[0].equals("study")) || (message[0].equals("STUDY"))) { //学习模式
         try {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             connection = DriverManager.getConnection(url);
             statement = connection.createStatement();
             String sql1 =
               "insert into holophrase (question,answer) values ('" +
               message[1] +
               "','" + message[2] + "')";
             statement.executeUpdate(sql1);
             mime.setMessage("学习完毕,在问问我啊。帮助请输入:? 或 help");
             msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:学习完毕");
         }
         catch (Exception ex) {
             ex.printStackTrace();
         }
      }
      else if ( (mspart == 2) && (message[0].equals("google")) ||
               (message[0].equals("GOOGLE"))) { //学习模式结束google搜索模式
         String titleall = "";
         if (searchcon != null) {
             String searchcon2 = searchcon;
             searchcon = "";
             StringTokenizer stt = new StringTokenizer(searchcon2, "$");
             String[] subStrt2 = new String[stt.countTokens()];
             int a = 0;
             int b = 0;
             for (int i = 0; i < subStrt2.length; i++) {
            subStrt2[i] = stt.nextToken();
            b++;
            if (subStrt2[i].equals(friend.getLoginName())) {
               a = 1;
               break;
            }
             }
             if (a == 0) {
            searchcon2 = searchcon2 + "$" + friend.getLoginName() + "$" +
                   message[1];
            searchcon = searchcon2;
             }
             else {
            subStrt2[b + 1] = message[1];
            for (int i = 0; i < subStrt2.length; i++) {
               searchcon = searchcon + "$" + subStrt2[i];
            }
             }
         }
         else {
             searchcon = searchcon + "$" + friend.getLoginName() + "$" +
               message[1];
         }
         try {
             GoogleSearch search = new GoogleSearch();
             search.setKey("AhGBLehQFHICcFbB5lYF9lDTZ4G71AzH");
             search.setQueryString(message[1]);
             GoogleSearchResult result = search.doSearch();
             int numResults = result.getEstimatedTotalResultsCount();
             int numResults2 = numResults / 10;
             GoogleSearchResultElement[] resultElements = result.
               getResultElements();
             int startIndex = result.getStartIndex() - 1;
             int endIndex = result.getEndIndex() - 1;
             for (int i = startIndex; i <= endIndex; i++) {
            GoogleSearchResultElement resultElement = resultElements[ (i)];
            String title = resultElement.getTitle();
            StringTokenizer st2 = new StringTokenizer(title, "<b>");
            String[] subStr2 = new String[st2.countTokens()];
            String title2 = "";
            for (int i2 = 0; i2 < subStr2.length; i2++) {
               subStr2[i2] = st2.nextToken();
               title2 = title2 + subStr2[i2];
            }
            StringTokenizer st3 = new StringTokenizer(title2, "</b>");
            String[] subStr3 = new String[st3.countTokens()];
            String title3 = "";
            for (int i3 = 0; i3 < subStr3.length; i3++) {
               subStr3[i3] = st3.nextToken();
               title3 = title3 + subStr3[i3];
            }
            String url = resultElement.getURL();
            titleall = titleall + title3 + "
" + url + "
";
            System.out.println(title);
            System.out.println(url);
             }
             if (startIndex == 0) {
            mime.setMessage(titleall + "
搜索结果共" + numResults2 +
                               "页
当前页:0
看其他纪录输入:go->页数");
            msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:google搜索成功");
             }
             else {
            mime.setMessage(titleall + "
搜索结果共" + numResults2 +
                               "页
当前页:0
看其他页纪录输入:go->页数;看第一页纪录输入:go->0");
            msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:google搜索成功");
             }
         }
         catch (Exception gsf) {
             mime.setMessage("Google Search Fault: " + gsf); //.getMessage());
             System.out.println("Google Search Fault: " + gsf); //.getMessage());
             msnmsg("#机器人回答:" + friend.getFriendlyName() + ",内容:google搜索失败");
         }
      }
         
 
Mirai qq机器人框架kotlin/java教程 Mirai框架qq机器人教程 新版前言资料列表1.准备i. 配置java环境ii. 配置IDEiii. 下载mirai-console-loader(mcl)作为启动器2.创建mirai-console插件项目i. 下载ii. 个性化项目3. 部分文件结构解析4.插件代码解析所以在以下代码中要引入的库i.构建主类ii.覆盖插件启用函数iii.监听事件IV. 全部代码V. gradle部分代码5. 在IDE内运行i. 更改MiraiRunKt配置ii.运行MiraiRunKt任务6. 生成插件并运行i. 生成 阅读详情

相关推荐

飞书机器人的开发

在保存后,你将会获得一个Webhook地址,用于接收飞书发送的消息。通过以上步骤,你已经成功开发了一个简单的飞书机器人,并实现了接收和发送消息的功能。你可以根据具体的需求,进一步扩展机器人的功能,如消息解析、数据处理等。你可以使用任何你熟悉的Web开发框架来实现接收消息的功能。根据需要,在你的应用中调用FeishuMessageSender类的sendMessage方法,向飞书发送消息。在你的应用中,监听来自飞书机器人的消息。根据你的业务逻辑,处理接收到的消息。2.1 使用HTTP接收消息。

勤劳的小琪 1928

关于用java做微信机器人的艰辛过程

一定要看到最后,否则后果很严重哦~ 1、技术栈 1、可爱猫框架,官网可爱猫论坛 2、Simpler-robot框架,官网微信 - 可爱猫-httpapi 3、springboot 2、可爱猫环境搭建 2.1 目前微信机器人实现方式: 程序注入 破解微信协议 可爱猫就是前者,本地需要安装下载特定版本的微信,因为每个版本的基地址和一些功能的地址不一定相同,内存结构同样可能不同,所以特定版本的可爱猫只针对特定版的微信有效。 可爱猫是由透姐以及其他易语言爱好者共同开发调试出来的微信辅助工具(感谢他们),

隐风的博客 1万+

java版本使用教程V1.0

历经好多天,java版本的微信机器人终于写完了初版了,接下来开放注册,大家先试用一下,有问题可以提出来,我们共同探讨,等功能都完善的差不多了,我把机器人客户端的代码开源,大家自行研究。

穆雄雄的博客 1480

使用 java 进行微信机器人搭建桥接

官方网站:http://pad-local.com/#/learngit地址:https://github.com/wechaty/puppet-padlocal使用pad loacl安装 Node推荐安装 Node 16 LTS (16.16.0),具体安装方法可以访问 Node 主页。从 github 上 clone 项目如果不能访问 github,可以从 gitee 下载。安装项目依赖。

barcke的博客 1793

小i机器人+图灵智能聊天机器人 java sdk

此SDK为小i机器人开放云平台的java SDK iBot Cloud在提供智能交互服务的同时,在内容中内置了26项服务功能(天气、笑话、百科、豆瓣、搜索、快递、心理测试、翻译、星座、娱乐、餐馆、古诗、计算、单位换算、菜谱、汇率、手机号码、酒店、新闻、电视节目、飞机票、火车票、团购、优惠券、日常聊天、通用聊天),数百万句的聊天语料和功能内容服务。 其中,小i核心的智能问答,智能语义能力需进入产品网站配置cloud.xiaoi.com

VSCode玩转Arduino:手把手解决‘未定义Serial’和头文件找不到的坑

本文详细介绍了在VSCode中配置Arduino开发环境时遇到的‘未定义Serial’和头文件找不到问题的解决方案。通过修改c_cpp_properties.json文件、调整IntelliSense引擎设置以及添加正确的库路径,开发者可以高效解决这些常见错误,提升开发体验。文章还提供了针对不同开发板和平台的高级配置技巧,确保配置的长期有效性。

weixin_42620202的博客 359

轻松打造自己的聊天机器人:JAVA版ChatGPT

在JAVA上搭建一个ChatGPT 可以分为以下几个步骤:首先,您需要安装JAVA开发工具包和JAVA集成开发工具。最后,您可以创建一个聊天机器人。现实应用中,您可以通过WEB框架(Flask, Django)将ChatGPT部署在WEB上,提供更方便的交互体验。您可以使用Hugging Face 提供的官方预训练模型,也可以使用您自己训练的模型。在下面的步骤中,我们将教您如何在JAVA 上搭建一个ChatGPT。此外,Hugging Face 还提供了许多可用的预训练模型,您可以选择适合您需要的模型。

canshanyin的博客 6652

USB PD快充功率监测仪:高精度嵌入式USB电压电流测量终端

USB供电已从数据接口演进为关键电源总线,尤其在PD快充场景下,工程师亟需对5V–20V宽压范围内的实时电压、电流及瞬时功率进行精准捕获。其底层原理依赖高共模抑制比的高边电流检测与分压采样+ADC数字化处理,结合LDO低噪声供电保障模拟链路精度。该类设备的技术价值在于以低成本实现协议无关的‘电气层可视化’,规避商用ASIC测试仪的黑盒局限,支撑PD充电验证、电源设计调试与教学实验等工程实践。本文介绍的开源USB表即基于N32G430 MCU与INA199电流检测芯片,覆盖USB-C输入/输出双通道监测,具备

weixin_42174098的博客 207

java版微信调小i机器人接口说明书_java版微信调用小i机器人

为了工作之余无聊时找个陪聊天的机器人放松放松,我把和机器人聊天放入微信系统中,用户使用过程中,可输入信息与机器人聊天,也可点击自助菜单进入系统工作。小i机器人官网:注册后如下图: 用户注册申请后,自动为初级授权用户,当用户申请实名认证后为高级授权用户。初级授权没有过期时间,高级授权则只有5个月的免费调用时间。权限如下: 看看我们关心的接口调用地方:快速接入-api 上面的开发者凭证和签名生...

weixin_36343299的博客 490

【深度学习面试八股文】-- 1-5

1.样本不平衡的处理方法 ①欠采样 - 随机删除观测数量足够多的类,使得两个类别间的相对比例是显著的。虽然这种方法使用起来非常简单,但很有可能被我们删除了的数据包含着预测类的重要信息。 ②过采样 - 对于不平衡的类别,我们使用拷贝现有样本的方法随机增加观测数量。理想情况下这种方法给了我们足够的样本数,但过采样可能导致过拟合训练数据。 ③合成采样( SMOTE )-该技术要求我们用合成方法得到不平衡类别的观测,该技术与现有的使用最近邻分类方法很类似。问题在于当一个类别的观测数量极度稀少时该怎...

m0_37940804的博客 9938

Visual Studio 2015 插件开发 从入门到放弃(一)

必需知识:C#和Visual Studio (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools)。对于已经安装好 Visual Studio 2015 的小伙伴,可以找VS2015的安装包,或者在程序与功能中找VS2015双击,在VS2015界面中选择 修改,再选择

AncientPeople的博客 2万+

探索Pi4J:为Raspberry Pi打造的Java I/O库

探索Pi4J:为Raspberry Pi打造的Java I/O库 项目介绍 Pi4J项目是一个专为Java开发者设计的I/O库,旨在提供一个友好的面向对象API,使Java程序员能够轻松访问和控制Raspberry Pi的完整I/O功能。通过抽象底层原生集成和中断监控,Pi4J让开发者能够专注于实现应用程序的业务逻辑,而不是陷入复杂的硬件交互细节中。 项目技术分析 Pi4J的核心优势在于其简洁的A...

gitblog_00188的博客 740

手把手教你用Multisim 14.2仿真一个4.4V的LDO电路(附完整仿真文件)

本文详细介绍了如何使用Multisim 14.2仿真一个4.4V的LDO电路,从环境配置、核心参数解析到电路搭建和仿真调试。通过分压电阻精确计算和瞬态响应测试,帮助读者掌握LDO电路的设计与验证技巧,并附有完整仿真文件供参考。

weixin_28738397的博客 275

摩托罗拉:利用Java技术 无线控制机器人

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 592

RDKit | 基于Murcko骨架聚类化合物库

化合物多样性评估 一种方法是使用合适的指纹技术将化合物矢量化并评估他们之间的距离。这种方法经常被使用,但是对于人类很难直观地理解化合物之间的距离。 基于Murcko骨架,分子大致聚集在化合物骨架中,并且每个簇中的顶部化合物都作为候选化合物。此方法非常符合人类的直觉,因此可以预期人将通过查看候选化合物列表来自动缩小化合物的范围。 Murcko骨架 Mur...

DrugOne 3766

下载igv报错:Error loading genome hg38raw.githubusercontent.com...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 991

聊天机器人 AliceBot

A.L.I.C.E. 是一个获奖的开源自然语言的人工智能的聊天机器人,跟 ALICE 聊天就像在跟一个真正的人在聊,但记住你是在跟机器聊 :) 授权协议: GPL 开发语言: C/C++ Java 操作系统: ...

weixin_30859423的博客 260

【重识云原生】第四章云网络4.9.5.1节下一代智能网卡——DPU综述

随着数据中心的高速发展,通信能力和计算能力成为数据中心基础设施的相辅相成的两个重要发展方向。若数据中心仅关注计算能力的提升,通信基础设施的提升跟不上,那么数据中心的整体系统性能依然受限,无法发挥出真正的潜力。DPU的提出背景就是应对这些数据量和复杂性的指数级增长。未来,需要将计算移至接近数据的位置,这是目前业界所公认的以数据为中心的体系结构下的创新。综上,DPU对数据中心来说,是通过更明细的分工来实现效率的提升、实现总体系统的成本最优化。...

junbaozi的专栏 1725

革命性开源机器人操作系统ev3dev:如何让LEGO MINDSTORMS变身万能编程平台?

ev3dev是一款革命性的开源机器人操作系统,它基于Debian Linux打造,能够让LEGO MINDSTORMS EV3智能积木瞬间变身为一台万能编程平台。无论你使用Python、C、Java还是JavaScript,都能借助ev3dev轻松操控电机和传感器,让机器人开发彻底摆脱官方图形化编程的束缚。 ## 什么是ev3dev?开源机器人操作系统的前世今生 ev3dev是一套专门为LEG

gitblog_00553的博客 334

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IOIO Java API完全手册:解锁Android与硬件通信的强大功能

想要让您的Android设备变身硬件控制中心吗?🚀 IOIO Java API正是您需要的终极工具!IOIO(I/O for Android)是一款革命性的开发板,它通过简单的Java API为Android设备提供了强大的硬件接口能力。无论您是物联网开发者、机器人爱好者还是硬件创客,IOIO都能让您轻松实现Android设备与外部硬件的无缝通信。 ## 🔌 什么是IOIO? IOIO是一

gitblog_00698的博客 1055

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

10分钟上手IOIO:Android开发者必备的硬件控制工具

想要为Android设备添加硬件控制能力吗?IOIO(I/O for Android)正是你需要的终极解决方案!这款强大的硬件控制工具让Android开发者能够轻松连接和控制各种外部设备,从简单的LED灯到复杂的机器人系统。无论你是物联网开发者、硬件爱好者还是教育工作者,IOIO都能为你提供简单快速的硬件接口开发体验。 ## 🚀 什么是IOIO硬件控制工具? IOIO是一个专为Android

gitblog_00955的博客 350

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

PyramidTextMenu教程(二) 概述

PyramidTextMenu教程(二) 概述 什么是PyramidTextMenu? PyramidTextMenu(以下称PTM)是一个开源的层级文本菜单框架,使用Java语言,主要使用于创建命令行应用程序、客服机器人、文字游戏等场景。 PTM提供了便捷、简明、多样的的层级文本菜单应用程序开发方法,这意味着开发者使用PTM即可在非常短的时间内开发出需要的层级菜单应用。 PyramidTextM...

猿长大人 481

如何使用Java开发QQ机器人 方法二

使用Java开发QQ机器人- CQ & HTTP TO CQ 使用库Q平台下的HTTP TO CQ插件以及simple-robot核心标准库作为依赖。 此插件与框架的 简陋 简单介绍:文档处简介 前往项目Github地址点击star以收获作者的感谢:GayHub 快速开始 一、安装 1. 下载并安装 酷Q 前往酷Q官方下载地址下载酷Q应用,并安装(启动一次),然后关闭。 2. 下.........

ForteScarlet's Blog 6401

Python, Java开发拟态机器人模型APP

开发一个拟态机器人模型APP的目标可能是模拟拟态机器人的行为、控制拟态机器人或展示拟态机器人的学习过程。- **后端**:使用Python(Flask/Django)或Java(Spring Boot)构建后端服务。以下是一个高层次的开发思路,以及如何用 **Python** 和 **Java** 实现相关功能的示例。- **机器学习**:使用深度学习框架(如TensorFlow、PyTorch)训练拟态机器人。- **机器人模拟**:使用物理引擎(如PyBullet、Gazebo)模拟拟态机器人的运动。

2501_90802096的博客 754

【Java开发】Java实现调用微信机器人,发送企业微信通知

666

weixin_70280523的博客 2151
上一篇: Ant 运行外部程序出错
下一篇: tomcat启动时struts2出错问题
凄凄迷人
博客等级 码龄21年 58粉丝 58原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值