[水一帖] 深夜碎碎念,开了3年沙雕图群,也解散了3个

Xylow-avatar

Xylow

2021-12-03T13:51:42+00:00

[img]https://img.nga.178.com/attachments/mon_202112/12/-7Q2p-17jvK24T3cSxc-ef.jpg[/img]
我本来只是边线小城月入一蛆的小码畜,一开始因为工作不太忙,本着有好东西就分享的理念,开了个沙雕图群,每天早上手动收集图片,然后发送到群里跟老哥们分享一下
后来发现不是每一个老哥都是上午有时间看图,下午的时候图已经被聊天记录刷到不知道哪里去了
于是又自学了python基于别人的QQ机器人框架开发了一只自动发沙雕图的机器人
经过多次更新迭代以后已经可以做到随时随地群里一个指令就能召唤10张图了,老哥们任何时候工作累了,就可以打开群发一句!沙雕图,立马就会收到10张新鲜的图
然而这种群一般不超过1个月就会开始发瑟图,3个月内被瑟图大量占据
最近为了开发别的机器人,沙雕图机器人坏了也没时间修,封号了没时间申诉
机器人不能动了大不了回到手动发图的年代,然而由于人力无法一直关注群里满足所有人的请求,逐渐有人开始公开或私聊喷我,沙雕群主不就该发图吗,不能发图开群做什么
这个群我实在开不动了,无奈只能解散,至少短期内是不会开新的群了,
机器人坏了挂着也就不修了,源代码放在后面,能力有限代码写的丑,但是至少能跑,有能力的老哥希望可以接着做下去

图都是我自己一张张收集的,没有API调用,图库太大也无法上传
只有Q群BOT框架官方地址和我自己手敲的源码
[url]https://v2.nonebot.dev/[/url]
#发送本地沙雕图
sd_img = on_command("!沙雕图", rule=None)
@sd_img.handle()
async def handle_send(bot: Bot, event: Event, state: T_State):
get_id = str(event.get_session_id())
get_msg = str(event.get_message())
if get_msg == "":
get_msg = 10
img_len = int(get_msg)
if int(img_len) > 10:
img_len = 10
if int(img_len) < 1:
img_len = 1
print(img_len)
for i in range(0, img_len):
try:
# print(await get_floder_lst())
# print('反回的图片信息2', get_img_lst)
get_img_base64 = img_goto_base64(get_floder_lst())
print('已接收返回的base64代码')
# 将base64格式图片上传到服务器并返回地址
# url = "http://localhost:40001/uploadfile/readbase64.php"
# data = {"file": get_img_base64}
# r = requests.post(url, data=json.dumps(data))
# print('沙雕图接口返回:', r)
url = "http://localhost:40001/uploadfile/readbase64.php"
res = requests.post(url, data={"file": get_img_base64})
print('接口返回数据', res.text)
rst = json.loads(res.text)
imgurl = 'http://'+rst['url1']
print('返回的图片地址', imgurl)
img = MessageSegment.image(imgurl)
await bot.send(event, img)
# if child_img_lst.split('.'):
# print(1)
# else:
# child_img = ''
# print(child_img_lst)

# imgurl = await getimglist()
# print("沙雕图",imgurl)
# img = MessageSegment.image(imgurl)
# await bot.send(event, img)
# await ping.finish("")
except:
await ping.finish("第"+str(int(i)+1)+"张图之后发送失败,请稍后重试")
await ping.finish('达成成就,连发10张沙雕图没出BUG!')


#随机读取一个图片文件夹列表
def get_floder_lst():
# 随机读取一个图库地址
dizhi_folder = list(sql_dql("SELECT * FROM img_folder"))
dizhi_folder_len = len(dizhi_folder)
dizhi_folder_i = random.randint(0, dizhi_folder_len-1)
dizhi_folder_new = dizhi_folder[dizhi_folder_i][1]
print(dizhi_folder, dizhi_folder_len, dizhi_folder_i, dizhi_folder_new)

child_folder_lst = os.listdir(dizhi_folder_new)
dizhi_folder_child = dizhi_folder_new + '/' + child_folder_lst[random.randint(0, len(child_folder_lst)-1)]
child_folder_lst_2 = os.listdir(dizhi_folder_child)
child_img_box = dizhi_folder_child+'/'+child_folder_lst_2[random.randint(0, len(child_folder_lst_2)-1)]
# 递归直到返回目标数据
img_url = ['', '']
if len(child_img_box.split('.')) == 1:
child_img_lst = os.listdir(child_img_box)
if len(child_img_lst) > 0:
img_url[0] = child_img_box
img_url[1] = child_img_lst
# 0为文件夹地址,1为文件夹中的图片列表
print('返回的图片信息', img_url)
return img_url
else:
return get_floder_lst()
else:
return get_floder_lst()

#随机读取一张图片并转为base64格式
def img_goto_base64(get_img_lst):
# img_name =
# 最终图片地址+图片名
# print('get_img_lst', get_img_lst)
img_path = get_img_lst[0] + '/' + rand_img(get_img_lst[1])
print('文件大小', get_FileSize(img_path))
if get_FileSize(img_path) > 6035008:
return img_goto_base64(get_img_lst)
else:
with open(img_path, "rb") as f: # 转为二进制格式
base64_data = base64.b64encode(f.read()) # 使用base64进行加密
base64_data = 'data:image/jpg;base64,' + str(base64_data, 'utf8')
# print('最终返回的base64:', base64_data)
#
# file = open('C:\\Users\\BX3261\\Desktop\\001.txt', 'wt')
# file.write(str(base64_data))
# file.close()
#
print(img_path)
print('base代码已输出')
return base64_data
return img_path

# 从图片和文件夹组合中随机读取一张图片
def rand_img(get_img_lst):
# print('最终文件列表', get_img_lst)
img_name = get_img_lst[random.randint(0, len(get_img_lst)-1)]
if len(img_name.split('.')) == 2:
print('rand_img-imgname', img_name)
return img_name
else:
rand_img(get_img_lst)


def get_FileSize(filePath):
fsize = os.path.getsize(filePath)
# fsize = fsize / float(1024 * 1024)

return round(fsize, 2)
Fel._.-avatar

Fel._.

[s:ac:怕]希望有老哥继承初代遗志。给个群号
Frostie-avatar

Frostie

惨 老哥 惨
Autumn<3-avatar

Autumn<3

[s:ac:呆]摸摸lz,不要为了这种人不开心
BigBodyBugatti-avatar

BigBodyBugatti

因为没发沙雕图就喷人可太他妈下作了。[img]http://img.nga.178.com/attachments/mon_201209/14/-47218_5052bc4f51be7.png[/img]他们马死了。
elmehdi-avatar

elmehdi

抱抱楼主[s:a2:那个…][s:a2:那个…]
cookiez4000-avatar

cookiez4000

正常,这论坛的群消息特多的都会变成黄土群
trixx-avatar

trixx

[quote][pid=573025777,29823542,1]Reply[/pid] Post by [uid=33367782]不二随顺[/uid] (2021-12-12 22:05):
正常,这论坛的群消息特多的都会变成黄土群[/quote][img]http://img.nga.178.com/attachments/mon_201209/14/-47218_5052bc4cc6331.png[/img]我还退了一个车友群,他妈的让同事看到我摸鱼,没问题,摸鱼还看奈子图那可就太过分了
wolfblade239-avatar

wolfblade239

我的沙雕图群,又无了[s:a2:大哭][s:a2:大哭]
Al3x-avatar

Al3x

楼主摸摸头,傻缺总是觉得别人的付出和劳动是不值得尊重且理所应当的,以后发现了直接T掉,就像垃圾放久了不倒会臭到自己一样。
Killah-avatar

Killah

有没有老哥来个电报群?
Chicken Parm-avatar

Chicken Parm

呜呜呜,等一个重生
McTrippin-avatar

McTrippin

服了,上个网p事儿真多,为啥不发H图还喷你啊?搞不懂
Vornic-avatar

Vornic

812880556
来这个吧,就算被封了还有备用种子群[img]http://img.nga.178.com/attachments/mon_201209/14/-47218_5052bc4cc6331.png[/img]
brysnnn-avatar

brysnnn

[quote][pid=573024798,29823542,1]Reply[/pid] Post by [uid=23082951]纳什男爵击杀了[/uid] (2021-12-12 22:01):

[s:ac:怕]希望有老哥继承初代遗志。给个群号,我偷了好几百张猫猫沙雕图没地方发。憋的好难受阿[s:a2:哭][/quote]发给我发给我[s:ac:喘][s:ac:喘][s:ac:喘]
iRegulateU-avatar

iRegulateU

老哥牛逼,辛苦了
Guest51680-avatar

Guest51680

再开一个就完事啦。

MGA沙雕欢乐多。[img]http://img.nga.178.com/attachments/mon_201209/14/-47218_5052bc8638067.png[/img]
SDR7-avatar

SDR7

今天我一个十多年的亲友群里有一个兄弟莫名其妙就退群了 唉[s:ac:呆]
当年就是单纯在网络上不知道咋的加一个群里 能在一个群里相处十多年也算是有缘分 他这突然退了突然就感觉心里有点落寞[s:ac:呆]
tvllerr-avatar

tvllerr

额,见签名