Ankhbot-创建(几乎)完全自主的用户创建的自定义欢迎消息程序

由于Ankhbot与Streamlabs合并,因此本文现在已过时,因此我做了一个新文章! 请转到恰当命名的“ Streamlabs Chatbot-创建(几乎)用户自主创建的自定义欢迎消息程序 ”!

不久前,我决定给Twitch追随者(我称为Drifters)提供一种创建自己的欢迎信息的方式,即以少量货币(在我的频道中称为供应 ),当他们进入聊天室时会向他们致意。 这样一来,他们就可以将其中的一些物品用在伏击以外的其他物品上(我的频道上的抢劫案版本),并使社区更加喜欢他们的物品。 当然,这也导致了他们能够为其他用户创建欢迎消息的想法,这是关注者与其他关注者相处的一种有趣方式。 幸运的是,Ankhbot提供了一种方法,可以在特定用户进入您的频道时包含欢迎消息(以及其他内容)。

我立即启动了该计划,并获得了成功,因为我可以使用$ removepoints()参数从他们那里获取耗材,他们会低声告诉我他们希望收到欢迎消息或该消息的用户名和消息。其他漂流者。 但是,在突破之后(我认为),我意识到我几乎不可能以一致的方式满足他们的需求而又不会反复打断游戏性。 这使我走上了一条寻找途径,以一种完全自主的方式让用户随意创建和更改其欢迎消息的方式。

我将与您取得联系:不可能在Ankhbot中创建完全自主的用户创建的自定义欢迎消息。 在Twitter上让我的想法超越Marcin Swierzowski时,他证实我的想法无法取得成果。

约翰·保罗 @resonantdrifter

几乎。 需要一种自动设置每个用户的加入事件的方法,以自动读取其特定的 $ user .txt… # ankhbot @AnkhHeart

安赫之心 @AnkhHeart

@resonantdrifter 这是不可能的。 您必须手动创建“加入时事件”。

但是,我的顽固性仍然存在,我想到了一种方法,该方法允许用户使用“非常小的初始化设置”随意创建和更改他们(和其他)自己的自定义欢迎消息。 以下是我如何创建(几乎)完全自主的用户创建的自定义欢迎消息

加入活动清单

首先,此设置中最密集的部分(尤其是如果您已经有很多关注者或每天有很多关注者的话)是设置“ 加入活动”列表。 在“加入事件”列表中,您可以在其中告诉Ankhbot当特定用户进入聊天时想要做什么。 不幸的是,这无法实现自动化,而这正是我挂在宏伟计划上的原因。 我确实希望Ankhbot从我当前的关注者那里自动编译此列表,但是无法实现该系统的自动化,因此您必须为每个关注者手动输入一个条目。 幸运的是,您只需为每个关注者执行一次此操作。 之后,每条消息都会自动更新。

在On Join Event系统中,您必须为每个关注者创建一个条目,将其链接到.txt文档,该文档将在进入聊天时显示其命令。

首先,创建一个文件夹,您要在其中存储Ankhbot将创建的所有.txt文档。 请记住,尽管它们很小(在文件大小方面),但将创建许多文件(假设您有很多关注者)。 完成此操作后,请回到Ankhbot中,并为您的每个关注者创建一个命令,如下所示(提示:除“信息”位置外,其他所有内容均保持不变):

  • UserGroup:保留此“ User_Specific”
  • 信息:个人关注者用户名
  • 仅限客户端:“错误” (正确意味着只有用户才能看到它)
  • 启用: “ True” (很明显,False将为该用户关闭)
  • 音量:设置为您和观众满意的水平
  • 讯息: $ readline(C:\ user \ $ user.txt)

让我们仔细看看“消息”插槽:

$ readline(C:\ user \ $ user.txt)

$ readline()参数只读取您指向的任何文本文档中的第一行。 目的地放在括号内。 这是很重要的部分:命名文本文档$ user.txt允许Ankhbot搜索带有用户名标签的.txt文档(此文档将在此文档的后面加上完整的圆圈)。

输入所有当前关注者后,我们就完成了。 但是,随着越来越多的关注者,我们必须为他们每个创建一个新条目。 这是我们在这个几乎自治的系统上要做的最重要的工作。

聊天指令

现在我们有了核心设置,让我们创建允许用户设置和更改其欢迎消息的命令。 就像我们在同一页面上一样,我的追随者创建自己的欢迎消息的命令是!buywelcome ,而我频道中的货币是Supplies

!购买

为了使它起作用,必须首先创建一个带有两个参数的.txt文档: $ removepoints(“ target”,“ min”,“ max”,“ succeed”,“ fail”,“ forceremove”) $ overwritefile(“ FileLocation”,“ Text”) 。 我标记了我的文档buywelcome.txt以此填写:

$ removepoints(“ $ user”,“ 100”,“ 100”,“ $ value耗材已从您的库存中删除,并且欢迎消息已更改为’$ msg’”,“您的库存中没有足够的耗材!”,“ false”)$ overwritefile(“ C:\ Ankhbot \ user \ $ user.txt”,“ $ user:$ msg”)

第一个参数$ removepoints()精确地执行了它所说的内容,并从输入命令的用户中删除了点(或货币)。 在这种情况下,它将删除100个耗材(如果用户有足够的耗材),并在有或没有足够耗材时均返回一条消息。 让我们仔细看看:

  • “ $ user” —将$ removepoints()参数连接到输入命令的用户
  • “ min”(最小),“ max”最大) —在我的参数中将最小和最大支出设置为每个100个耗材,因此它不会变化
  • “成功”“ $ value供给等等……’$ msg’从货币(100)中取出任何金额,并将其显示在聊天消息中以及成功消息中。 $ msg参数将重新打印用户设置的任何消息,以便他们可以看到它。 我包括了这个,所以他们知道它已经改变了。
  • “失败” —如果用户没有100个耗材(他们喜欢赌博),则会显示“您不要胡说”
  • “强制删除” “假”允许用户在没有足够耗材的情况下无法购买。 将此设置为“ True”将使该货币变为负货币。

第二个参数允许我们使用$ overwritefile(“ FileLocation”,“ Text”)参数将消息存储在标记为用户名( $ user.txt )的.txt文档中。

在开始讨论之前,我想先解释一下。 还记得我们创建“ 加入活动”列表时的情况吗? 我们创建了一个文件夹来容纳所有用户.txt文件,但是我们没有创建任何实际的文本文件。 为什么? 这样可以确保当没有输入任何内容作为欢迎消息的用户加入聊天时不会收到消息。 让我们仔细看看:

  • $ overwritefile(“ FileLocation”) —通过使用$ overwritefile而不是$ savetofile ,用户可以在需要时更改此消息。
  • “ text”“ $ user:$ msg”这两个参数保存用户的用户名以及他们键入的消息,稍后将它们打印在屏幕上。

在实际的!buywelcome命令中,您只需放入$ readline(FileLocation)并将其指向您创建的文档(在我的情况下为buywelcome.txt )。 这就是您要做的所有事情。

!购买其他商品

为了创造一种有趣且具有竞争力的体验,我希望允许我的关注者能够为其他用户创建欢迎消息。 我知道这与!buywelcome命令非常相似,但是会因为一个用户为另一个用户创建消息而呈现出自己的障碍。 这是我的设置方法:

与之前的命令非常相似,您可以使用$ removepoints(“ target”,“ min”,“ max”,“ succeed”,“ fail”,“ forceremove”)$ overwritefile(“ FileLocation”,其中的“文本”)参数。 与之前的命令不同,您必须对其进行稍微不同的设置才能使其正常工作。 这是我的样子:

$ removepoints(“ $ user”,“ 100”,“ 100”,“ $ value耗材已从库存中删除,$ target的欢迎消息已更改为’$ msg’”,“”您的耗材不足库存!”,“ false”)$ overwritefile(“ C:\ Users \ JohninMotion \ Documents \ Ankhbot \ user \ $ target.txt”,“ $ msg”)

第一个参数$ removepoints()精确地执行了它所说的内容,并从输入命令的用户中删除了点(或货币)。 在这种情况下,它将删除100个耗材(如果用户有足够的耗材),并在有或没有足够耗材时均返回一条消息。 不同之处在于它输入消息的目标。 让我们仔细看看:

  • “ $ user” —将$ removepoints()参数连接到输入命令的用户
  • “ min”(最小),“ max”最大) —在我的参数中将最小和最大支出设置为每个100个耗材,因此它不会变化
  • “成功” “ $ value blah blah $ target blah’$ msg’”将从货币(100)中除去的所有金额都显示在聊天消息中以及成功消息中。 $ target会告诉系统您要将消息发送给谁。 $ msg参数将重新打印用户设置的任何消息,以便他们可以看到它。 我包括了这个,所以他们知道它已经改变了。
  • 如果用户没有100个耗材(同样,他们喜欢赌博),则会显示“失败”“您不要等等”的消息
  • “ forceremove”强制删除)“ false”(假)允许用户在没有足够耗材的情况下无法购买。 将此设置为“ True”将使该货币变为负货币。

第二个参数允许我们使用$ overwritefile(“ FileLocation”,“ Text”)参数将消息存储在标记为目标名称的.txt文档中( $ target.txt )。 让我们仔细看看:

  • $ overwritefile(“ FileLocation”) —通过使用$ overwritefile而不是$ savetofile ,用户可以在需要时更改此消息。
  • “ text”“ $ target:$ msg”这两个参数保存目标的用户名以及他们键入的消息,以便稍后将它们打印在屏幕上。

在实际的!buyotherwelcome命令中,您只需放入$ readline(FileLocation)并将其指向您创建的文档(在我的情况下为buyotherwelcome.txt )。 这就是您要做的所有事情。

!欢迎

最后,我想让我的关注者看到他们的消息,即使是在他们进入聊天之后,也仅仅是出于纯粹的事实,他们希望能够看到消息确实有效。 这是非常简单的设置。 就是这样:

创建一个命令,在我的例子中是!mywelcome ,并在其中放入$ readrandline(FileLocation)参数。 在内部,您只需将其指向包含所有用户欢迎消息(对我来说是\ user \)的文件夹,末尾带有$ user.txt 。 例如,我的外观如下:

$ readrandline(C:\ Users \ JoininMotion \ Documents \ Ankhbot \ users \ $ user.txt)

而已。 现在,当用户键入!mywelcome命令时,他们将看到他们自己的欢迎消息。

自给自足的机器

通过遵循上面设置的路径,您将能够创建自己的(几乎)完全自主的用户创建的自定义欢迎消息。 也许将来有一天,如果Marcin决定继续升级Ankhbot,我们将能够创建一个真正的完全自治的系统。 在此之前,出于所有密集目的,现在必须这样做。