本文目录一览:
- 1、店铺转让以后,后面的老板一直用我的电话号码犯法吗?
- 2、喜当爹!马斯克劈腿女下属,又生双胞胎,女方背景曝光
- 3、马斯克被曝劈腿女下属,生一对双胞胎,马斯克的行为合法吗?
- 4、人工智能会取代人类的哪些工作呢?
- 5、基于wechaty的定时消息推送(可以哄女朋友)、智能聊天和私人助理
- 6、马斯克跻身全球第四大富豪,旗下都有哪些公司?
店铺转让以后,后面的老板一直用我的电话号码犯法吗?
如果您的电话号码在店铺转让后仍然被使用,这可能是一种不当行为。如果您发现您的电话号码被滥用,请立即联系当地警方报案,以确保您的合法权益得到保护。
同时,如果您的电话号码被滥用,您还可以联系电信服务提供商,以更改您的电话号码,以保护您的个人隐私。
总之,如果您的电话号码被滥用,请立即采取行动,以保护您的合法权益。
喜当爹!马斯克劈腿女下属,又生双胞胎,女方背景曝光
根据知情人爆料,全球首富、特斯拉执行长马斯克(Elon Musk)被爆与36岁的女下属企业高层齐莉丝(Shivon Zilis)有染,并且 对方去年还为他产下了一对双胞胎 !夸张的是,这对双胞胎出生前的几个月,马斯克刚刚才和前女友 莱姆丝(Grimes) 通过代孕生下他们的第二个孩子,也就是说,马斯克到目前为止,一共有9个已知的孩子了!难道老外也流行“ 龙生九子 ”?!
而且 双胞胎的生母也遭到起底!36岁的齐莉丝外型亮眼、褐发蓝眼,生于加拿大,毕业于耶鲁大学,还曾入选了2015年《 福布斯 》杂志「30岁以下精英榜」;据领英(LinkedIn)显示,齐莉丝曾在马斯克旗下多家公司担任高阶职务,也曾担任特斯拉的人工智慧总监,不过与老板马斯克的渊源,起于非营利的人工智慧研究组织OpenAI,并且成为董事会成员,目前同时任职于马斯克联合创办的脑植晶片公司Neuralink营运总监。
马斯克现在已知拥有9个子女,马斯克与首任妻子、加拿大作家詹妮弗(Jennifer Justine Wilson)拥有6名子女,其中1名小孩不幸夭折,与第二任妻子、英国女演员妲露拉(Talulah Riley)二结二离,但都没生子。
马斯克与强尼戴普(Johnny Depp)前妻安柏赫德(Amber Heard)短暂交往,也无子嗣,之后与加拿大歌手格莱姆斯(Grimes)交往,2020年生下一个儿子,2021年12月又透过代孕生下了一个女儿,女儿出生后,马斯克和34岁的格莱姆斯正式宣布分手,但也意味着,马斯克在和格里姆斯交往期间与自己的女下属有染并生下了孩子。
不得不说,马斯克的人生真是传奇啊! 马斯克一直提倡多生孩子, 以后是不是每个孩子都可以继承其中一家呢? 不过,虽然马斯克现在是9个孩子的父亲;最近他的第一个孩子却宣布和这位首富父亲断绝关系。 这样的人生,宝宝们羡慕了吗?
马斯克被曝劈腿女下属,生一对双胞胎,马斯克的行为合法吗?
对于中国人来讲,马斯克这样的一个行为肯定是不合法的,虽然说国家也没有明确的法律去规定什么事情,但是他这样是属于事实婚姻的,他跟这个人生孩子,也跟那个人生孩子,而且还是同时交往的,那么就可能会构成重婚罪。不管怎样,就算是法律不会谴责他,他这种行为也是违反道德的,大家是不能够接受的,对于思想比较保守的中国人来讲,这样的行为是真的会被大家骂死的。就算你是世界首富也不行,就算你有很高的地位也不行,他都不敢这样做。
但是马斯克是外国人,所以对于他来讲这样的事情早就已经习以为常了。外国人在各方面都比中国人要开放很多,不管是结婚还是生孩子。他们可能都是看的比较淡一点,所以有很多未婚先孕,甚至是两个人都已经养育了很多孩子,可是却始终都没有结婚的事情。他们好像对于婚姻并不是那么的看重,觉得只要两个人在一起比较开心,然后愿意为对方生孩子,愿意一起抚养孩子,这就够了。如果说哪一天不爱对方了,想要分手了,那么就大大方方的分开,不需要有法律的约束。
可能就是这样的一个原因,所以马斯克才会生下那么多的孩子,他跟他的女下属生下这个孩子的时候,他那个时候正牌的女朋友也是怀孕了的,而且那个女朋友也为他生下了好几个孩子。也就是说他在有女朋友的时间之内又劈腿了他的女下属,听起来是不是特别的恶心,特别的渣呢?也难怪他跟前妻生的儿子要跟他断绝关系呢。虽然这件事情发生在外国,但是用我们中国人的思想来看的话,我觉得是不能够接受的。
人工智能会取代人类的哪些工作呢?
由于人工智能能够更好地阅读、写作和理解基于文本的数据,它可能会比一些文字工作者更高效的创作内容,而且成本更低,实际上已经有人开始利用ChatGPT进行创作,但如果有一天老板们发现使用ChatGPT能创造更高的利润,那么可能会有一批人要失业了。
第二类 金融工作,如金融分析师、财务顾问、市场研究分析员、交易员、会计师等
不同于以往的搜索引擎,ChatGPT不但能收集信息,还初步具备整合信息和分析信息的能力,可以为客户提供建议、撰写研报,人工智能还能根据客户的需求进行量化交易。
第三类 教师、法律工作者(律师助理、法律助理)、咨询类工作
最近几年,尤其是疫情这三年,很多学生已经习惯在家上网课,单向的知识输出大家都能接受,如果再加上交互功能呢?同理,像法律助理这样不需要线下沟通交互的咨询类工作,也容易被人工智能替代。
第四类 客服类工作
这可能是最普遍被认为会被人工智能取代的工作,在网购、银行等各行业,找不到人工客服、人工客服回应慢都是普遍现象,ChatGPT看起来能够解决这些问题。
简单说,那些重复性和需要精确性任务的职业,最有可能会受到具备自我学习技术的人工智能的影响。
当然,像ChatGPT这样的人工智能其实还是有改进空间的,现阶段最大的问题是没有评价(反馈)机制,机器不知道自己产出的内容是否符合人的需求,导致自我学习能力有限,假如像围棋那样有判定机制,带入胜率就不一样了。举个例子,AlphaGo之所以能够战胜人类顶尖围棋选手,不但是因为其能够自我学习了众多的棋谱,更可以根据每走一步的胜率变化来自我判定,甚至还可以自己跟自己下棋用胜负来检验。
其实ChatGPT只是OpenAI的一个应用,按照OpenAI官方的说法“(我们)训练了一个名为 ChatGPT 的模型,它以对话的方式进行交互。对话模式使 ChatGPT 能够回答连续的问题、承认错误、质疑不正确的前提并拒绝不恰当的请求。在未来,预计会有更多的人工智能应用出现在我们的生活中。
基于wechaty的定时消息推送(可以哄女朋友)、智能聊天和私人助理
---
title: "基于wechaty的定时消息推送(可以哄女朋友)、智能聊天和私人助理"
author: jasonlovesharon
email: 54027901@163.com
tags:
- nodejs
- wechaty
- wechaty-puppet-padplus
---
## 前言
- 自从2017年微信web端API限制以后,itchat等一大批bot歇菜了,一直都在找一款合适的替品
- 目前来看,大部分都是针对windows微信客户端,基于HOOK的dll注入实现对微信的操控,有一定的封号风险,只能用固定的版本,部署在linux服务器端比较困难,意味着只能一直开着电- -wechaty,支持IPAD,,MAC等多种协议,不用去调用WEB网页API,并且可以布署在服务器,满足我所有需求。[项目地址]()
- 看完官方文档后([token官方介绍]()), 发现需要申请Token,并且python版本的Token是要付费的,但没有学过typescript,有点想放弃,浏览了一下ding-dong-bot的Example,似乎可以看懂,那就边学习边摸索吧。(ps:后来偶然见发现了另一篇可以使用将token转变一下实现python版wechaty,但此时已经基本用TS写完了,如果想用Python等其他语言可以参考[官方文档]()。)
## 具备功能
### 1. 关键词触发功能
1.1 关键词"介绍一下自己"、 "自我介绍一下"、 "你是谁"触发自我介绍
1.2 地名+天气 触发天气查询
### 2. 智能聊天功能
2.1群外直接聊天
2.2群内成员皆有聊天权限“@bot” 聊天
2.3不会回复 @其他群成员 的消息
## 实现过程
Talk is cheap,show your code
### 1. 主程序
```typescript
import { Wechaty, Message, UrlLink,log,} from 'wechaty'
import { PuppetPadplus } from 'wechaty-puppet-padplus'
import { EventLogger, QRCodeTerminal } from 'wechaty-plugin-contrib'
import { WechatyWeixinOpenAI, } from 'wechaty-weixin-openai'
import { setSchedule, } from './schedule/index'
import { getDay, formatDate,} from './utils/index'
import { getOne, getTXweather, getSweetWord,} from './superagent/index'
// 创建微信每日说定时任务
async function initDay() {
console.log(`已经设定每日说任务`);
setSchedule('0 40 0 * * *', async () = {
console.log('你的贴心小助理开始工作啦!')
let logMsg
let contact =
(await bot.Contact.find({ name: 'Jason' })) ||
(await bot.Contact.find({ alias: 'boss' })) // 获取你要发送的联系人
let one = await getOne() //获取每日一句
let weather = await getTXweather() //获取天气信息
let today = await formatDate(new Date()) //获取今天的日期
let memorialDay = getDay('2009/08/07') //获取纪念日天数
let sweetWord = await getSweetWord()
let str = `${today}\n我们相爱的第${memorialDay}天\n\n元气满满的一天开始啦,要开心噢^_^\n\n今日天气\n${weather.weatherTips}\n${
weather.todayWeather
}\n每日一句:br${one}brbr每日土味情话:br${sweetWord}brbr————————最爱你的我`
try {
logMsg = str
await delay(2000)
await contact.say(str) // 发送消息
} catch (e) {
logMsg = e.message
}
console.log(logMsg)
})
}
const padplusToken = '你自己的TOKEN'
const puppet = new PuppetPadplus({
token: padplusToken,
})
const bot = new Wechaty({
name: 'jason-assistant',
puppet,
})
bot.use(EventLogger())
bot.use(QRCodeTerminal({ small: true }))
//在Wechaty里面引用和配置插件
const openAIToken = '你自己的机器人TOKEN' //需要在微信对话开放平台申请,点击机器人设置》绑定应用》在页面最下方即可看到
const openAIEncodingAESKey = '你自己的EncodingAESKey' //微信对话开放平台申请,点击机器人设置》绑定应用》在页面最下方即可看到
const preAnswerHook = async (message: Message) = {
const isCommonMaterial = await processCommonMaterial(message)
if (isCommonMaterial) {
return false
}
}
/**
* 获得boss联系名片,当机器人找不到问题答案时,将BOSS的名片推送过去
*/
const getBoss = async () = {
const contact = bot.Contact.load('boss微信ID')
await contact.sync()
return contact
}
const noAnswerHook = async (message: Message) = {
const room = message.room()
const from = message.from()
if (!room) {
const boss = await getBoss()
await message.say('你的问题我不会回答,你可以联系我的老板')
await message.say(boss)
return;
}
const members = await room.memberAll()
const bossInRoom = members.find(m = m.id === 'boss微信id')
if (bossInRoom) {
await room.say`${bossInRoom},${from}问的问题我不知道,你帮我回答一下吧。`
} else {
const boss = await getBoss()
await room.say`${from},你的问题我不会回答,你可以联系我的老板`
await room.say(boss)
}
}
/**
* 用wechaty-weixin-openai可以实现快速接入微信对话平台
*/
bot.use(WechatyWeixinOpenAI({
token: openAIToken,
encodingAESKey: openAIEncodingAESKey,
noAnswerHook, //在机器人无法回答时,推送设定的回答
preAnswerHook, //判断是否是关键字,如果是关键字,触发关键字回答而不接入微信开放平台
}))
const processCommonMaterial = async (message: Message) = {
const room = message.room()
// const from = message.from()
const mentionSelf = await message.mentionSelf()
const text = message.text()
let intro = 'Jason,爱好广泛,广交天下豪杰,上得了九天摘月,下得了五洋捉鳖,俗话说的好,不会烘培的飞行员不是好户外人,不会玩音乐的水族爱好者不是好厨师,不会画画的极限爱好者不是好程序员,这就是我的老板Jason,吼吼吼~~'
if (room !== null mentionSelf) {
if (/jason|你老板|你上司/.test(text)) {
await room.say(intro)
await room.say(new UrlLink({
description: '户外贱客 Fighting,fighting,finghting and finghting,读万卷书,行万里路,学习AND吃,喝,玩,乐',
thumbnailUrl: '',
title: 'Jason',
url: ';mid=100000001idx=1sn=d05de320c6fbe6c9f9149a09a4da81ecchksm=41b4391776c3b001c143ac2c284c58ac8b08de41d95cab682aa5a07022e32096567f5780d5be#rd',
}))
return true
} else if (/户外贱客/.test(text)) {
await room.say(new UrlLink({
description: '户外贱客 Fighting,fighting,finghting and finghting,读万卷书,行万里路,学习AND吃,喝,玩,乐',
thumbnailUrl: '',
title: 'Jason',
url: ';mid=100000001idx=1sn=d05de320c6fbe6c9f9149a09a4da81ecchksm=41b4391776c3b001c143ac2c284c58ac8b08de41d95cab682aa5a07022e32096567f5780d5be#rd',
}))
return true
}
}
return false
}
// 登录
async function onLogin(user) {
console.log(`贴心小助理${user}登录了`)
// 登陆后创建定时任务
await initDay()
}
bot.on('login', onLogin)
bot.start()
.then(() = log.info('StarterBot', 'Starter Bot Started.'))
.catch(e = log.error('StarterBot', e))
```
### 2.创建schedule定时函数
```typescript
import { schedule } from 'node-schedule'
// date 参数
//其他规则见
// 规则参数讲解 *代表通配符
//
// * * * * * *
// ┬ ┬ ┬ ┬ ┬ ┬
// │ │ │ │ │ |
// │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
// │ │ │ │ └───── month (1 - 12)
// │ │ │ └────────── day of month (1 - 31)
// │ │ └─────────────── hour (0 - 23)
// │ └──────────────────── minute (0 - 59)
// └───────────────────────── second (0 - 59, OPTIONAL)
// 每分钟的第30秒触发: '30 * * * * *'
//
// 每小时的1分30秒触发 :'30 1 * * * *'
//
// 每天的凌晨1点1分30秒触发 :'30 1 1 * * *'
//
// 每月的1日1点1分30秒触发 :'30 1 1 1 * *'
//
// 每周1的1点1分30秒触发 :'30 1 1 * * 1'
function setSchedule(date,callback) {
schedule.scheduleJob(date, callback)
}
export function setSchedule()
```
### 3.创建几个功能函数,爬取ONE网站的每日一句,提取通过API获取的消息
```typescript
import * as cheerio from 'cheerio'
import * as superagent from 'superagent'
const ONE = '' // ONE的web版网站
const TXHOST = '' // 天行host
function req(url,method, params, data, cookies) {
return new Promise(function (resolve,reject) {
superagent(method, url)
.query(params)
.send(data)
.set('Content-Type','application/x-www-form-urlencoded')
.end(function (err, response) {
if (err) {
reject(err)
}
resolve(response)
})
})
}
async function getOne() {
// 获取每日一句
try {
let res = await req(ONE, 'GET')
let $ = cheerio.load(res.text)
let todayOneList = $('#carousel-one .carousel-inner .item')
let todayOne = $(todayOneList[0])
.find('.fp-one-cita')
.text()
.replace(/(^\s*)|(\s*$)/g, '')
return todayOne
} catch (err) {
console.log('错误', err)
return err
}
}
async function getTXweather() {
// 获取天行天气
let url = TXHOST + 'tianqi/'
try {
let res = await req(url, 'GET', {
key: '你自己的KEY',//需要自己去天行申请,地址
city: 'Arlington'
})
let content = JSON.parse(res.text)
if (content.code === 200) {
let todayInfo = content.newslist[0]
let obj = {
weatherTips: todayInfo.tips,
todayWeather:`阿林顿今天${todayInfo.weather}\n温度:${todayInfo.lowest}/${todayInfo.highest}
\n${todayInfo.wind}风: ${todayInfo.windspeed}\n紫外线指数:${todayInfo.uv_index}\n湿度
${todayInfo.humidity}`
};
console.log('获取天行天气成功', obj)
return obj
} else {
console.log('获取接口失败', content.code)
}
} catch (err) {
console.log('获取接口失败', err)
}
}
async function getSweetWord() {
// 获取土味情话
let url = TXHOST + 'saylove/'
try {
let res = await req(url, 'GET', { key: '' })
let content = JSON.parse(res.text)
if (content.code === 200) {
let sweet = content.newslist[0].content
let str = sweet.replace('\r\n', 'br')
return str
} else {
console.log('获取接口失败', content.msg)
}
} catch (err) {
console.log('获取接口失败', err)
}
}
export { getOne, getTXweather, getSweetWord, }
```
### 计算距离某日(生日,结婚纪念日等)还有多少天
```typescript
function getDay(date) {
var date2 = new Date()
var date1 = new Date(date)
var iDays = parseInt(
Math.abs(date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24
)
return iDays
}
function formatDate(date) {
var tempDate = new Date(date)
var year = tempDate.getFullYear()
var month = tempDate.getMonth() + 1
var day = tempDate.getDate()
var hour = tempDate.getHours()
var min = tempDate.getMinutes()
var second = tempDate.getSeconds()
var week = tempDate.getDay()
var str = ''
if (week === 0) {
str = '星期日'
} else if (week === 1) {
str = '星期一'
} else if (week === 2) {
str = '星期二'
} else if (week === 3) {
str = '星期三'
} else if (week === 4) {
str = '星期四'
} else if (week === 5) {
str = '星期五'
} else if (week === 6) {
str = '星期六'
}
if (hour 10) {
hour = '0' + hour
}
if (min 10) {
min = '0' + min
}
if (second 10) {
second = '0' + second
}
return year + '-' + month + '-' + day + '日 ' + hour + ':' + min + ' ' + str
}
export { getDay, formatDate }
```
![关键字触发消息]()
![无法回答推送名片]()
![定时推送消息]()
![智能聊天]()
## 后记
到此已经实现了私人人助理和定时推送消息的功能([项目地址]()),由于对Typescript不熟,很多功能都是借鉴很多大神的轮子实现的,还是对Python熟悉点,下步准备用Python来实现以上功能,并进一步拓展更多有趣的功能。
马斯克跻身全球第四大富豪,旗下都有哪些公司?
1、SpaceX
2020 年 5 月 30 日,有史以来第一次,一家私人商业航空航天公司将宇航员送入地球太空轨道。将 NASA 宇航员 Robert Behnken 和 Douglas Hurley 送入太空的火箭就是马斯克旗下的 spaceX 的猎鹰 9 号,搭载宇航员的"龙"飞船也是出自 spaceX。这是马斯克火星殖民野心的一部分。
2、The Boring Company
该公司的最终目标是在主要城市建立隧道网络,以缓解地面交通。该公司在其网站上辩称,隧道是城市的一个很好的解决方案。
3、Neuralink
你能想象有一天,电影《黑客帝国》中的脑接口仪器会实现,马斯克曾宣称,脑链接口可以让人的大脑类似电脑硬件一样,扩展人的神经系统。
4、OpenAI
OpenAI 是特斯拉自动驾驶系统,以及脑链接口的扩展。
5、特斯拉
特斯拉甚至超过了丰田,成为市值最大的汽车制造公司,也是新世纪以来成长最快的制造业公司;也许特斯拉在中国上海、德国柏林等都已经有新的超级工厂的规划,旗下电动汽车也成为了世界各地的明星汽车产品。