#1 - 2020-5-4 14:55
Ƹ̵̡Ӝ̵̨̄Ʒ (春画を描いたら仲間に入れてやるゾ〜 ...)
根据前些日子@秘则为花关于本站维基的讨论帖我自己发起的讨论帖的讨论来看,至少现在维基人能够达成的一点共识是,现在维基欠缺一个群体决策机制。虽然我不赞成@秘则为花 所提的把人物肖像页面做成类似封面投票的投票页的具体方案,但我也认为如果小组中可以发起投票贴,至少我们就可以用投票的方式来调查一下大家的意见。当然投票贴的用处显然不止于此。而且更关键的是我认为投票功能通过超合金组件就能办到,不必年复一年地指望给Sai打钱。

关于具体实现方式,我猜想应该可以通过将特定格式的文字识别为投票主题和投票的方式来进行。例如,如果某个主题的开头内容是类似这样:
&&ballot&&end=202005101200&&maxchoice=2&&permission=1,2,3,8,9,11\\
&&1&&option1\\
&&2&&option2\\
&&3&&option3\\
Webiwebi, webibabo

则将其识别为投票主题,投票的截止日期是2020-05-10 12:00,最大允许选择2个选项,允许投票的用户组为1, 2, 3, 8, 9, 11。最后的Webiwebi, webibabo是正常的主题内容。
然后如果某个回帖是这样:
&&vote=1,3&&
Webiwebi, webibabo

则将其识别为对选项1, 3各投一票,后边的Webiwebi, webibabo则作为投票理由正常显示在相应楼层中。等全贴内容加载完后,自动识别各回帖的投票,然后自动统计投票结果,显示在主楼中。

关于需要的feature,投票贴肯定是需要指定投票截止时间以及最大可选项数的。此外,因为设想中投票功能的一个主要应用场景是维基决策,因此希望可以加入限制投票人用户组的功能,例如维基编辑相关投票可以只限维基人投票。根据api,限制用户组是1, 2, 3, 8, 9, 10, 11就是所有正常用户均可投票,限维基人去掉10,限管理员再去掉11。

还望各位技术大神协助=w=
#2 - 2020-5-4 15:08
有两个问题
1. 社区指导原则:
不提倡调查贴、投票贴、签名贴。
2. 就算真的有了这么一个东西,也不具有什么强制力,最后还是会变成编辑战

之前的一个尝试: https://bgm.tv/group/topic/353728
#2-1 - 2020-5-4 15:20
Ƹ̵̡Ӝ̵̨̄Ʒ
首先不提倡不等于禁止,实际上这个指导原则(我猜是建站时写好的后来就没改动过)看口气主要还是在于不提倡像某些论坛一样滥发无聊的投票类水贴,但如果用投票来做维基编辑讨论的话就应该算是一个合理的目的了。然后组件中也可以明确说明,根据社区指导原则,如无必要请勿随意发起投票。

关于强制力的问题,之所以我想到需要一个带自动投票统计功能的组件就是因为这样至少可以对明显非主流的意见形成舆论约束力。如果投票结果是9:8,那当然最后也没有什么用。但如果结果是9:1,我相信处于1地位的那个人再想硬刚,就要考虑一下社会影响了。
#2-2 - 2020-5-4 15:49
秘则为花
所以王道正途是让sai老板在后台做个投票系统,而不是我们在前台xjb搞,不仅有效性存疑,还容易触犯天条(bgm39)
#2-3 - 2020-5-4 16:45
Ƹ̵̡Ӝ̵̨̄Ʒ
秘则为花 说: 所以王道正途是让sai老板在后台做个投票系统,而不是我们在前台xjb搞,不仅有效性存疑,还容易触犯天条
首先要让Sai老板做你要给他打钱,其次要给Sai打钱你又要先让他做个打钱接口,而请有能的热心班友做个超合金组件一般不需要打钱(bgm38)

其他问题请围观群众移步本楼#5参与讨论。
#2-4 - 2020-5-4 17:10
knh初
其实Sai是支持用投票解决Wiki争议的。之前就有说过
“关于重制版、HD 长久以来存在的问题,大家可以继续商讨,发起投票,争取这次能达成一个共识。”
https://bgm.tv/group/topic/354572#post_1561307
#2-5 - 2020-5-4 17:18
Trim21
knh初 说: 其实Sai是支持用投票解决Wiki争议的。之前就有说过
“关于重制版、HD 长久以来存在的问题,大家可以继续商讨,发起投票,争取这次能达成一个共识。”
https://bgm.tv/group/top...
原来后来还有新发言。。。
#3 - 2020-5-4 15:17
滋瓷一个!

如果做成纯前端脚本,有edit/del的问题 =。=
部署某种bot会不会好一些?
#3-1 - 2020-5-4 15:34
Ƹ̵̡Ӝ̵̨̄Ʒ
我设想中就是简单的帖子每次加载时爬一下帖子内容,不知这样是不是会对浏览器压力太大。
#3-2 - 2020-5-4 15:54
Donuts
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 我设想中就是简单的帖子每次加载时爬一下帖子内容,不知这样是不是会对浏览器压力太大
浏览器倒是没很大压力,我担心的是投票结果认定的问题。毕竟主楼和回复都是可以edit的,回复还可以删除。
不过,如果不需要非常公正确定的绝对事实结果,只是简单愉快地统计一下,那倒无所谓就是了(bgm38)
#3-3 - 2020-5-4 16:07
Ƹ̵̡Ӝ̵̨̄Ʒ
Donuts 说: 浏览器倒是没很大压力,我担心的是投票结果认定的问题。毕竟主楼和回复都是可以edit的,回复还可以删除。
不过,如果不需要非常公正确定的绝对事实结果,只是简单愉快地统计一下,那倒无所谓就是了
bgm编辑帖子不记录编辑时间,所以这是个问题。不过我想编辑也不会影响什么吧,在投票截止时间前变卦是投票人的权利,至于截止时间后,应该不会有人蛋疼到故意再来编辑帖子只为了让楼主出糗吧……
#3-4 - 2020-5-4 16:18
Ƹ̵̡Ӝ̵̨̄Ʒ
Donuts 说: 浏览器倒是没很大压力,我担心的是投票结果认定的问题。毕竟主楼和回复都是可以edit的,回复还可以删除。
不过,如果不需要非常公正确定的绝对事实结果,只是简单愉快地统计一下,那倒无所谓就是了
不过关于截止时间的检查,时区差异可能需要想办法解决一下,因为同一个帖子在不同时区设置下显示的发帖时间是不同的,不知有没有什么办法。
#3-5 - 2020-5-4 21:56
Donuts
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 不过关于截止时间的检查,时区差异可能需要想办法解决一下,因为同一个帖子在不同时区设置下显示的发帖时间是不同的,不知有没有什么办法。
这个嘛,因为时区是跟用户相关的,所以应该用一个投票时长来设置,脚本直接取发帖时刻a,加上投票时长Δt,得到截止时刻
#4 - 2020-5-4 15:31
(实妹至上)
我对投票表决而非wiki战表示支持
当我对投票参与率持悲观态度(bgm38)
以及我认为刷票行为正在连接中(bgm38)
#4-1 - 2020-5-4 15:40
Ƹ̵̡Ӝ̵̨̄Ʒ
刷票这个真没太好的办法,不过反正我设想的实现方案不可能允许匿名投票,这样至少可以靠人工判断是否有小号刷票。不过如果真的有人手上一堆有维基人权限的小号还不容易看出来是小号,那就没什么办法了。
#5 - 2020-5-4 15:52
(以空间换时间 以时间换空间)
我投票,是防小人不防君子,以强制力为主。你投票,是防君子不防小人,能说通的不差投票,说不通的投也没用。我只想问,君子到底得罪谁了,要这么为难君子?君子剑吗?(bgm39)
#5-1 - 2020-5-4 16:03
Ƹ̵̡Ӝ̵̨̄Ʒ
就是因为投票这个东西最多只能用来做参考,不能机械照搬啊,实际上如果是9:8这种双方分歧很大的问题就不能用简单多数投票强行解决。像封面投票那种机制问题太多了,之前那帖里我已经详细说过了,这里就不说了。

我设想中投票贴是用来解决这样的问题的:现在经常有某人遇到一个疑问,然后发帖询问,底下有一些回帖形成了一定的明确风向,但具体的意见比例往往很难统计(很多人回帖表态有倾向但是很含糊),也就很难用讨论结果作为支持某种行为的证据。有了投票结果,如果投票结果倾向很明显的话,至少可以把投票结果当作一项重要依据。
#5-2 - 2020-5-4 16:09
Ƹ̵̡Ӝ̵̨̄Ʒ
还有一点,做个投票贴功能也可以专门开个小组玩玩一对一擂台pk的萌战游戏之类,虽然现在已经有小圣杯了,但打擂台的乐趣毕竟不一样不是
#5-3 - 2020-5-4 16:17
秘则为花
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 就是因为投票这个东西最多只能用来做参考,不能机械照搬啊,实际上如果是9:8这种双方分歧很大的问题就不能用简单多数投票强行解决。像封面投票那种机制问题太多了,之前那帖里我已经详细说过了,这里就不说了。
...
9:8从来不是个问题,除非你根本不打算解决问题,不然投出9:8了咋办,晾那儿?

为啥我们需要一种领土中央控制形式,不就是因为公民社会常常因分裂而动弹不得吗。。。
#5-4 - 2020-5-4 16:19
秘则为花
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 还有一点,做个投票贴功能也可以专门开个小组玩玩一对一擂台pk的萌战游戏之类,虽然现在已经有小圣杯了,但打擂台的乐趣毕竟不一样不是
但我觉得这很可能是sai老板ban掉投票贴的初衷。。。
#5-5 - 2020-5-4 16:19
Ƹ̵̡Ӝ̵̨̄Ʒ
秘则为花 说: 9:8从来不是个问题,除非你根本不打算解决问题,不然投出9:8了咋办,晾那儿?

为啥我们需要一种领土中央控制形式,不就是因为公民社会常常因分裂而动弹不得吗。。。
为什么非要解决?为什么不能晾在那?何况现状就是大多数问题得不到最终结论只能晾着,再怎么样情况也不会变得更坏。另外再次提醒一下,维基编辑问题不是一个民主政治问题。
#5-6 - 2020-5-4 16:21
Ƹ̵̡Ӝ̵̨̄Ʒ
秘则为花 说: 但我觉得这很可能是sai老板ban掉投票贴的初衷。。。
他自己玩小圣杯玩得挺开心的啊(bgm38)
#5-7 - 2020-5-4 16:27
秘则为花
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 为什么非要解决?为什么不能晾在那?何况现状就是大多数问题得不到最终结论只能晾着,再怎么样情况也不会变得更坏。另外再次提醒一下,维基编辑问题不是一个民主政治问题。
你一边说没法解决9:8的问题,一边又说9:8不是个问题,9:8好着呢。。。那现在的wiki有啥问题,我暂且蒙在鼓里。。。你直说想做个投票功能玩玩呗。。。
#5-8 - 2020-5-4 16:30
Ƹ̵̡Ӝ̵̨̄Ʒ
秘则为花 说: 你一边说没法解决9:8的问题,一边又说9:8不是个问题,9:8好着呢。。。那现在的wiki有啥问题,我暂且蒙在鼓里。。。你直说想做个投票功能玩玩呗。。。
没有投票统计功能你很难知道意见是9:8还是12:5还是15:2,不信你随便进一个维基讨论贴,试着自己统计一下双方的意见比例,看看做一次这个事需要花多少工夫。首先你得从很多暧昧的意见里判断出发言人的倾向(还不一定判断得对),还要确保同一个ID不被统计多次,等等。而有了投票贴组件这些事都可以自动完成,甚至还可以自动判断投票人的用户组,实现你提议的只让维基人发表意见的功能。
#5-9 - 2020-5-4 17:27
knh初
秘则为花 说: 你一边说没法解决9:8的问题,一边又说9:8不是个问题,9:8好着呢。。。那现在的wiki有啥问题,我暂且蒙在鼓里。。。你直说想做个投票功能玩玩呗。。。
其实Sai是支持用投票解决Wiki争议的。之前就有说过
“关于重制版、HD 长久以来存在的问题,大家可以继续商讨,发起投票,争取这次能达成一个共识。”
https://bgm.tv/group/topic/354572#post_1561307

其实很多Wiki争议都是因为规则不完善而导致的,Sai看起来也挺想完善规则,补充细节的。但大多数Wiki讨论贴都是你说一句我说一句的,Sai也很难从中看出大家的综合意见是什么。所以有个投票功能的话,更容易促进规则讨论和新规则(新细节)的形成。
#5-10 - 2020-5-4 17:54
秘则为花
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 没有投票统计功能你很难知道意见是9:8还是12:5还是15:2,不信你随便进一个维基讨论贴,试着自己统计一下双方的意见比例,看看做一次这个事需要花多少工夫。首先你得从很多暧昧的意见里判断出发言人的倾向...
问题是你佬查出每方各多少票后又不打算解决,那查不查有啥区别,顶多是让君子剑欺负君子。。。
#6 - 2020-5-4 17:32
不讨论政治意义纯技术问题的话在bgm现有框架下实现是没什么难点的

想了一个对投票用户比较友好的后端实现办法。

如何创建投票:

在新的网站生成投票,提供1234等多个选项,或者像主楼说的一样在主楼中用某种标记语言表出(比如yaml或者markdown),然后附上一个图片,内容就像我在#1中那个demo一样是后端渲染的投票结果。

如何投票:

投票者通过回帖投票(比如$1,$2),由一个bot扫描所有的回复,然后生成投票结果图片展示在主楼(由楼主附上)

bot并不需要用户再进行oauth授权,只需要在扫描的时候检查所有投票用户,然后通过api检查用户所在的用户组,对于投票者来说不需要进行任何额外的操作,而只需要回帖。

更多细节问题:

如何限制时间,用户组,禁止变票等等? 可以在生成结果图时允许各种过滤条件,比如限制回帖时间,限制仅限一级回复等条件。
#6-1 - 2020-5-5 12:21
Ƹ̵̡Ӝ̵̨̄Ʒ
最简单的办法就是,最后统计结果时判断回帖是否满足投票条件即可,不满足条件的不计算在结果内,另外可以在(不)符合条件的回帖中附加文字提醒本投票(不)满足投票条件。不过有个细节问题就是不同的用户时区设置该怎么处理。
#6-2 - 2020-5-5 12:22
Trim21
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 最简单的办法就是,最后统计结果时判断回帖是否满足投票条件即可,不满足条件的不计算在结果内,另外可以在(不)符合条件的回帖中附加文字提醒本投票(不)满足投票条件足)
bot是不可能回帖的啊(广告机)(bgm38)
除非sai老板给个什么特别授权特别给个什么api之类的
#6-3 - 2020-5-5 12:25
Ƹ̵̡Ӝ̵̨̄Ʒ
Trim21 说: bot是不可能回帖的啊(广告机)
除非sai老板给个什么特别授权特别给个什么api之类的
哦对你说的是后端方案,后端解决的话放到独立服务器上本是可以为所欲为的吧
#7 - 2020-5-4 18:14
(プリキュアなりたい)
我之前想过一个方式,
往主题正文插入一个图片,没有装脚本的用这个图片引导用户装脚本,有脚本的把这个图片替换为投票控件,自建服务器,存储投票数据
#7-1 - 2020-5-5 12:18
Ƹ̵̡Ӝ̵̨̄Ʒ
自建服务器当然最好,但成本肯定比纯前端高
#7-2 - 2020-5-5 12:25
CureDovahkinn🤔
Ƹ̵̡Ӝ̵̨̄Ʒ 说: 自建服务器当然最好,但成本肯定比纯前端高
想法是用免费的serverless,免费的云数据库,但是学习不精又爱摸……
#7-3 - 2020-5-5 12:28
Ƹ̵̡Ӝ̵̨̄Ʒ
CureDovahkinn🤔 说: 想法是用免费的serverless,免费的云数据库,但是学习不精又爱摸……
本来想说我可以提供自用vps,但转念一想是科学上网用的,所以每过一段时间就要关掉换新的,所以只好算了(bgm60)
#7-4 - 2020-5-5 13:41
Trim21
CureDovahkinn🤔 说: 想法是用免费的serverless,免费的云数据库,但是学习不精又爱摸……
大部分serverless虽然免费,但是不好用…
而且除了zeit好像都不能安依赖…
#7-5 - 2020-5-6 09:04
CureDovahkinn🤔
Trim21 说: 大部分serverless虽然免费,但是不好用…
而且除了zeit好像都不能安依赖…
netlify的应该可以,给的demo就是express的,是会编译一次的,服务是用的aws的
#8 - 2020-5-4 18:17
#9 - 2020-5-5 11:45
(。´-д-)
不集成进bangumi本身的系统的话解决不了编辑战..我不参与投票我不就能随便换图了么
#9-1 - 2020-5-5 12:17
Ƹ̵̡Ӝ̵̨̄Ʒ
见#5,也没有打算指望通过这个彻底解决编辑战,能解决一部分本应解决却没能解决的问题就好了
#10 - 2020-5-5 12:31
(僕と契約して魔法少女になってよ!)
‌‍‍不是有这插件么?移植一下呗。
甚至自己就叫投票(

--来自评论区投票助手

#11 - 2020-5-5 12:35
(プリキュアなりたい)
‍‌‌不错
#12 - 2020-5-5 17:04
做这种东西,定格式的时候不能太复杂,最好是对插件未启动的用户也要保持一定的可读性和可写性,不然开没开插件就形成了一堵信息墙。考虑一下我们 /m 版用户的感受

最好是中文咒语全角标点(?
#13 - 2020-5-5 19:25