mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 07:23:46 +08:00
FIX: narrative bot on subfolder installs
This commit is contained in:
parent
d46f98a8d5
commit
3582aa68bf
|
@ -168,7 +168,7 @@ en:
|
||||||
- https://en.wikipedia.org/wiki/Death_by_coconut
|
- https://en.wikipedia.org/wiki/Death_by_coconut
|
||||||
- https://en.wikipedia.org/wiki/Calculator_spelling
|
- https://en.wikipedia.org/wiki/Calculator_spelling
|
||||||
reply: |-
|
reply: |-
|
||||||
Cool! This will work for most <img src="/images/font-awesome-link.png" width="16" height="16"> links. Remember, it must be on a line _all by itself_, with nothing else in front, or behind.
|
Cool! This will work for most <img src="%{base_uri}/images/font-awesome-link.png" width="16" height="16"> links. Remember, it must be on a line _all by itself_, with nothing else in front, or behind.
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Sorry, I couldn’t find the link in your reply! :cry:
|
Sorry, I couldn’t find the link in your reply! :cry:
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ en:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
Here’s a picture of a unicorn:
|
Here’s a picture of a unicorn:
|
||||||
|
|
||||||
<img src="/images/unicorn.png" width="520" height="520">
|
<img src="%{base_uri}/images/unicorn.png" width="520" height="520">
|
||||||
|
|
||||||
If you like it (and who wouldn’t!) go ahead and press the like :heart: button below this post to let me know.
|
If you like it (and who wouldn’t!) go ahead and press the like :heart: button below this post to let me know.
|
||||||
|
|
||||||
|
@ -233,11 +233,11 @@ en:
|
||||||
|
|
||||||
bookmark:
|
bookmark:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
If you’d like to learn more, select <img src="/images/font-awesome-ellipsis.png" width="16" height="16"> below and <img src="/images/font-awesome-bookmark.png" width="16" height="16"> **bookmark this private message**. If you do, there may be a :gift: in your future!
|
If you’d like to learn more, select <img src="%{base_uri}/images/font-awesome-ellipsis.png" width="16" height="16"> below and <img src="%{base_uri}/images/font-awesome-bookmark.png" width="16" height="16"> **bookmark this private message**. If you do, there may be a :gift: in your future!
|
||||||
reply: |-
|
reply: |-
|
||||||
Excellent! Now you can easily find your way back to our private conversation any time, right from [the bookmarks tab on your profile](%{profile_page_url}/activity/bookmarks). Just select your profile picture at the upper right ↗
|
Excellent! Now you can easily find your way back to our private conversation any time, right from [the bookmarks tab on your profile](%{profile_page_url}/activity/bookmarks). Just select your profile picture at the upper right ↗
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Uh oh, I don’t see any bookmarks in this topic. Did you find the bookmark under each post? Use the show more <img src="/images/font-awesome-ellipsis.png" width="16" height="16"> to reveal additional actions if needed.
|
Uh oh, I don’t see any bookmarks in this topic. Did you find the bookmark under each post? Use the show more <img src="%{base_uri}/images/font-awesome-ellipsis.png" width="16" height="16"> to reveal additional actions if needed.
|
||||||
|
|
||||||
emoji:
|
emoji:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
|
@ -247,7 +247,7 @@ en:
|
||||||
|
|
||||||
- Type colon <kbd>:</kbd> then complete the emoji name `:tada:`
|
- Type colon <kbd>:</kbd> then complete the emoji name `:tada:`
|
||||||
|
|
||||||
- Press the emoji button <img src="/images/font-awesome-smile.png" width="16" height="16"> in the editor, or on your mobile keyboard
|
- Press the emoji button <img src="%{base_uri}/images/font-awesome-smile.png" width="16" height="16"> in the editor, or on your mobile keyboard
|
||||||
reply: |-
|
reply: |-
|
||||||
That’s :sparkles: _emojitastic!_ :sparkles:
|
That’s :sparkles: _emojitastic!_ :sparkles:
|
||||||
not_found: |-
|
not_found: |-
|
||||||
|
@ -255,7 +255,7 @@ en:
|
||||||
|
|
||||||
Try typing a colon <kbd>:</kbd> to bring up the emoji picker, then type the first few letters of what you want, such as `:bird:`
|
Try typing a colon <kbd>:</kbd> to bring up the emoji picker, then type the first few letters of what you want, such as `:bird:`
|
||||||
|
|
||||||
Or, press the emoji button <img src="/images/font-awesome-smile.png" width="16" height="16"> in the editor.
|
Or, press the emoji button <img src="%{base_uri}/images/font-awesome-smile.png" width="16" height="16"> in the editor.
|
||||||
|
|
||||||
(If you are on a mobile device, you can also enter Emoji directly from your keyboard, too.)
|
(If you are on a mobile device, you can also enter Emoji directly from your keyboard, too.)
|
||||||
|
|
||||||
|
@ -277,21 +277,21 @@ en:
|
||||||
|
|
||||||
> :imp: I wrote something nasty here
|
> :imp: I wrote something nasty here
|
||||||
|
|
||||||
I guess you know what to do. Go ahead and **flag this post** <img src="/images/font-awesome-flag.png" width="16" height="16"> as inappropriate!
|
I guess you know what to do. Go ahead and **flag this post** <img src="%{base_uri}/images/font-awesome-flag.png" width="16" height="16"> as inappropriate!
|
||||||
reply: |-
|
reply: |-
|
||||||
[Our staff](/groups/staff) will be privately notified about your flag. If enough community members flag a post, it will also be automatically hidden as a precaution. (Since I didn’t actually write a nasty post :angel:, I’ve gone ahead and removed the flag for now.)
|
[Our staff](/groups/staff) will be privately notified about your flag. If enough community members flag a post, it will also be automatically hidden as a precaution. (Since I didn’t actually write a nasty post :angel:, I’ve gone ahead and removed the flag for now.)
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Oh no, my nasty post hasn’t been flagged yet. :worried: Can you flag it as inappropriate using the **flag** <img src="/images/font-awesome-flag.png" width="16" height="16">? Don’t forget to use the show more button <img src="/images/font-awesome-ellipsis.png" width="16" height="16"> to reveal more actions for each post.
|
Oh no, my nasty post hasn’t been flagged yet. :worried: Can you flag it as inappropriate using the **flag** <img src="%{base_uri}/images/font-awesome-flag.png" width="16" height="16">? Don’t forget to use the show more button <img src="%{base_uri}/images/font-awesome-ellipsis.png" width="16" height="16"> to reveal more actions for each post.
|
||||||
|
|
||||||
search:
|
search:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
_psst_ … I’ve hidden a surprise in this topic. If you’re up for the challenge, **select the search icon** <img src="/images/font-awesome-search.png" width="16" height="16"> at the top right ↗ to search for it.
|
_psst_ … I’ve hidden a surprise in this topic. If you’re up for the challenge, **select the search icon** <img src="%{base_uri}/images/font-awesome-search.png" width="16" height="16"> at the top right ↗ to search for it.
|
||||||
|
|
||||||
Try searching for the term "capy​bara" in this topic
|
Try searching for the term "capy​bara" in this topic
|
||||||
hidden_message: |-
|
hidden_message: |-
|
||||||
How did you miss this capybara? :wink:
|
How did you miss this capybara? :wink:
|
||||||
|
|
||||||
<img src="/images/capybara-eating.gif"/>
|
<img src="%{base_uri}/images/capybara-eating.gif"/>
|
||||||
|
|
||||||
Did you notice you’re now back at the beginning? Feed this poor hungry capybara by **replying with the `:herb:` emoji** and you’ll be automatically taken to the end.
|
Did you notice you’re now back at the beginning? Feed this poor hungry capybara by **replying with the `:herb:` emoji** and you’ll be automatically taken to the end.
|
||||||
reply: |-
|
reply: |-
|
||||||
|
@ -303,7 +303,7 @@ en:
|
||||||
|
|
||||||
- If you have a physical :keyboard:, press <kbd>?</kbd> to view our handy keyboard shortcuts.
|
- If you have a physical :keyboard:, press <kbd>?</kbd> to view our handy keyboard shortcuts.
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Hmm… looks like you might be having trouble. Sorry about that. Did you search <img src="/images/font-awesome-search.png" width="16" height="16"> for the term **capy​bara**?
|
Hmm… looks like you might be having trouble. Sorry about that. Did you search <img src="%{base_uri}/images/font-awesome-search.png" width="16" height="16"> for the term **capy​bara**?
|
||||||
|
|
||||||
end:
|
end:
|
||||||
message: |-
|
message: |-
|
||||||
|
@ -336,7 +336,7 @@ en:
|
||||||
not_found: |-
|
not_found: |-
|
||||||
It looks like you’ve yet to edit the [post](%{url}) I created for you. Can you try again?
|
It looks like you’ve yet to edit the [post](%{url}) I created for you. Can you try again?
|
||||||
|
|
||||||
Use the <img src="/images/font-awesome-pencil.png" width="16" height="16"> icon to bring up the editor.
|
Use the <img src="%{base_uri}/images/font-awesome-pencil.png" width="16" height="16"> icon to bring up the editor.
|
||||||
reply: |-
|
reply: |-
|
||||||
Great work!
|
Great work!
|
||||||
|
|
||||||
|
@ -346,9 +346,9 @@ en:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
If you’d like to withdraw a post you made, you can delete it.
|
If you’d like to withdraw a post you made, you can delete it.
|
||||||
|
|
||||||
Go ahead and **delete** any of your posts above by using the <img src="/images/font-awesome-trash.png" width="16" height="16"> **delete** action. Don’t delete the first post, though!
|
Go ahead and **delete** any of your posts above by using the <img src="%{base_uri}/images/font-awesome-trash.png" width="16" height="16"> **delete** action. Don’t delete the first post, though!
|
||||||
not_found: |-
|
not_found: |-
|
||||||
I don’t see any deleted posts yet? Remember <img src="/images/font-awesome-ellipsis.png" width="16" height="16"> show more will reveal <img src="/images/font-awesome-trash.png" width="16" height="16"> delete.
|
I don’t see any deleted posts yet? Remember <img src="%{base_uri}/images/font-awesome-ellipsis.png" width="16" height="16"> show more will reveal <img src="%{base_uri}/images/font-awesome-trash.png" width="16" height="16"> delete.
|
||||||
reply: |-
|
reply: |-
|
||||||
Whoa! :boom:
|
Whoa! :boom:
|
||||||
|
|
||||||
|
@ -359,9 +359,9 @@ en:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
Oh no! It looks like I accidentally deleted a new post that I just created for you.
|
Oh no! It looks like I accidentally deleted a new post that I just created for you.
|
||||||
|
|
||||||
Can you do me a favor and <img src="/images/font-awesome-rotate-left.png" width="16" height="16"> **undelete** it?
|
Can you do me a favor and <img src="%{base_uri}/images/font-awesome-rotate-left.png" width="16" height="16"> **undelete** it?
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Having trouble? Remember <img src="/images/font-awesome-ellipsis.png" width="16" height="16"> show more will reveal <img src="/images/font-awesome-rotate-left.png" width="16" height="16"> undelete.
|
Having trouble? Remember <img src="%{base_uri}/images/font-awesome-ellipsis.png" width="16" height="16"> show more will reveal <img src="%{base_uri}/images/font-awesome-rotate-left.png" width="16" height="16"> undelete.
|
||||||
reply: |-
|
reply: |-
|
||||||
Phew, that was a close one! Thanks for fixing that :wink:
|
Phew, that was a close one! Thanks for fixing that :wink:
|
||||||
|
|
||||||
|
@ -397,11 +397,11 @@ en:
|
||||||
|
|
||||||
poll:
|
poll:
|
||||||
instructions: |-
|
instructions: |-
|
||||||
Did you know you can add a poll to any post? Try using the <img src="/images/font-awesome-gear.png" width="16" height="16"> gear in the editor to **build a poll**.
|
Did you know you can add a poll to any post? Try using the <img src="%{base_uri}/images/font-awesome-gear.png" width="16" height="16"> gear in the editor to **build a poll**.
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Whoops! There wasn’t any poll in your reply.
|
Whoops! There wasn’t any poll in your reply.
|
||||||
|
|
||||||
Use the <img src="/images/font-awesome-gear.png" width="16" height="16"> gear icon in the editor, or copy and paste this poll in your next reply:
|
Use the <img src="%{base_uri}/images/font-awesome-gear.png" width="16" height="16"> gear icon in the editor, or copy and paste this poll in your next reply:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
[poll]
|
[poll]
|
||||||
|
@ -425,12 +425,12 @@ en:
|
||||||
- When your post needs lots of optional details that may be overwhelming when read all at once.
|
- When your post needs lots of optional details that may be overwhelming when read all at once.
|
||||||
|
|
||||||
[details=Select this to see how it works!]
|
[details=Select this to see how it works!]
|
||||||
1. Select the <img src="/images/font-awesome-gear.png" width="16" height="16"> gear in the editor.
|
1. Select the <img src="%{base_uri}/images/font-awesome-gear.png" width="16" height="16"> gear in the editor.
|
||||||
2. Select "Hide Details".
|
2. Select "Hide Details".
|
||||||
3. Edit the details summary and add your content.
|
3. Edit the details summary and add your content.
|
||||||
[/details]
|
[/details]
|
||||||
|
|
||||||
Can you use the <img src="/images/font-awesome-gear.png" width="16" height="16"> gear in the editor to add a details section to your next reply?
|
Can you use the <img src="%{base_uri}/images/font-awesome-gear.png" width="16" height="16"> gear in the editor to add a details section to your next reply?
|
||||||
not_found: |-
|
not_found: |-
|
||||||
Having trouble creating a details widget? Try including the following in your next reply:
|
Having trouble creating a details widget? Try including the following in your next reply:
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@ module DiscourseNarrativeBot
|
||||||
TRANSITION_TABLE = {
|
TRANSITION_TABLE = {
|
||||||
begin: {
|
begin: {
|
||||||
next_state: :tutorial_edit,
|
next_state: :tutorial_edit,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.edit.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.edit.instructions", i18n_post_args) },
|
||||||
init: {
|
init: {
|
||||||
action: :start_advanced_track
|
action: :start_advanced_track
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_edit: {
|
tutorial_edit: {
|
||||||
next_state: :tutorial_delete,
|
next_state: :tutorial_delete,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.delete.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.delete.instructions", i18n_post_args) },
|
||||||
edit: {
|
edit: {
|
||||||
action: :reply_to_edit
|
action: :reply_to_edit
|
||||||
},
|
},
|
||||||
|
@ -26,7 +26,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_delete: {
|
tutorial_delete: {
|
||||||
next_state: :tutorial_recover,
|
next_state: :tutorial_recover,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.recover.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.recover.instructions", i18n_post_args) },
|
||||||
delete: {
|
delete: {
|
||||||
action: :reply_to_delete
|
action: :reply_to_delete
|
||||||
},
|
},
|
||||||
|
@ -47,7 +47,7 @@ module DiscourseNarrativeBot
|
||||||
end
|
end
|
||||||
|
|
||||||
I18n.t("#{I18N_KEY}.category_hashtag.instructions",
|
I18n.t("#{I18N_KEY}.category_hashtag.instructions",
|
||||||
category: "##{slug}"
|
i18n_post_args(category: "##{slug}")
|
||||||
)
|
)
|
||||||
end,
|
end,
|
||||||
recover: {
|
recover: {
|
||||||
|
@ -61,7 +61,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_category_hashtag: {
|
tutorial_category_hashtag: {
|
||||||
next_state: :tutorial_change_topic_notification_level,
|
next_state: :tutorial_change_topic_notification_level,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.change_topic_notification_level.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.change_topic_notification_level.instructions", i18n_post_args) },
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_category_hashtag
|
action: :reply_to_category_hashtag
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_change_topic_notification_level: {
|
tutorial_change_topic_notification_level: {
|
||||||
next_state: :tutorial_poll,
|
next_state: :tutorial_poll,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.poll.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.poll.instructions", i18n_post_args) },
|
||||||
topic_notification_level_changed: {
|
topic_notification_level_changed: {
|
||||||
action: :reply_to_topic_notification_level_changed
|
action: :reply_to_topic_notification_level_changed
|
||||||
},
|
},
|
||||||
|
@ -81,7 +81,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_poll: {
|
tutorial_poll: {
|
||||||
next_state: :tutorial_details,
|
next_state: :tutorial_details,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.details.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.details.instructions", i18n_post_args) },
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_poll
|
action: :reply_to_poll
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@ module DiscourseNarrativeBot
|
||||||
post = PostCreator.create!(@user, {
|
post = PostCreator.create!(@user, {
|
||||||
raw: I18n.t(
|
raw: I18n.t(
|
||||||
"#{I18N_KEY}.edit.bot_created_post_raw",
|
"#{I18N_KEY}.edit.bot_created_post_raw",
|
||||||
discobot_username: self.discobot_user.username
|
i18n_post_args(discobot_username: self.discobot_user.username)
|
||||||
),
|
),
|
||||||
topic_id: data[:topic_id],
|
topic_id: data[:topic_id],
|
||||||
skip_bot: true
|
skip_bot: true
|
||||||
|
@ -135,7 +135,7 @@ module DiscourseNarrativeBot
|
||||||
post = PostCreator.create!(@user, {
|
post = PostCreator.create!(@user, {
|
||||||
raw: I18n.t(
|
raw: I18n.t(
|
||||||
"#{I18N_KEY}.recover.deleted_post_raw",
|
"#{I18N_KEY}.recover.deleted_post_raw",
|
||||||
discobot_username: self.discobot_user.username
|
i18n_post_args(discobot_username: self.discobot_user.username)
|
||||||
),
|
),
|
||||||
topic_id: data[:topic_id],
|
topic_id: data[:topic_id],
|
||||||
skip_bot: true
|
skip_bot: true
|
||||||
|
@ -146,7 +146,7 @@ module DiscourseNarrativeBot
|
||||||
end
|
end
|
||||||
|
|
||||||
def start_advanced_track
|
def start_advanced_track
|
||||||
raw = I18n.t("#{I18N_KEY}.start_message", username: @user.username)
|
raw = I18n.t("#{I18N_KEY}.start_message", i18n_post_args(username: @user.username))
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{raw}
|
#{raw}
|
||||||
|
@ -183,7 +183,7 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.edit.reply")}
|
#{I18n.t("#{I18N_KEY}.edit.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -199,7 +199,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
unless @data[:attempted]
|
unless @data[:attempted]
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.edit.not_found",
|
reply_to(@post, I18n.t("#{I18N_KEY}.edit.not_found",
|
||||||
url: Post.find_by(id: post_id).url
|
i18n_post_args(url: Post.find_by(id: post_id).url)
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.delete.reply")}
|
#{I18n.t("#{I18N_KEY}.delete.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -227,7 +227,7 @@ module DiscourseNarrativeBot
|
||||||
def missing_delete
|
def missing_delete
|
||||||
return unless valid_topic?(@post.topic_id)
|
return unless valid_topic?(@post.topic_id)
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.delete.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.delete.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -238,7 +238,7 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.recover.reply")}
|
#{I18n.t("#{I18N_KEY}.recover.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -254,7 +254,7 @@ module DiscourseNarrativeBot
|
||||||
post_id = get_state_data(:post_id) && @post.id != post_id
|
post_id = get_state_data(:post_id) && @post.id != post_id
|
||||||
|
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.recover.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.recover.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -265,7 +265,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if Nokogiri::HTML.fragment(@post.cooked).css('.hashtag').size > 0
|
if Nokogiri::HTML.fragment(@post.cooked).css('.hashtag').size > 0
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.category_hashtag.reply")}
|
#{I18n.t("#{I18N_KEY}.category_hashtag.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -274,7 +274,7 @@ module DiscourseNarrativeBot
|
||||||
reply_to(@post, raw)
|
reply_to(@post, raw)
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.category_hashtag.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.category_hashtag.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -284,7 +284,7 @@ module DiscourseNarrativeBot
|
||||||
return unless valid_topic?(@post.topic_id)
|
return unless valid_topic?(@post.topic_id)
|
||||||
|
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.change_topic_notification_level.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.change_topic_notification_level.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -294,7 +294,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
fake_delay
|
fake_delay
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.change_topic_notification_level.reply")}
|
#{I18n.t("#{I18N_KEY}.change_topic_notification_level.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -315,7 +315,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if Nokogiri::HTML.fragment(@post.cooked).css(".poll").size > 0
|
if Nokogiri::HTML.fragment(@post.cooked).css(".poll").size > 0
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.poll.reply")}
|
#{I18n.t("#{I18N_KEY}.poll.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -324,7 +324,7 @@ module DiscourseNarrativeBot
|
||||||
reply_to(@post, raw)
|
reply_to(@post, raw)
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.poll.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.poll.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -337,9 +337,9 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
if Nokogiri::HTML.fragment(@post.cooked).css("details").size > 0
|
if Nokogiri::HTML.fragment(@post.cooked).css("details").size > 0
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.details.reply"))
|
reply_to(@post, I18n.t("#{I18N_KEY}.details.reply", i18n_post_args))
|
||||||
else
|
else
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.details.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.details.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -352,9 +352,9 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
if @post.wiki
|
if @post.wiki
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.wiki.reply"))
|
reply_to(@post, I18n.t("#{I18N_KEY}.wiki.reply", i18n_post_args))
|
||||||
else
|
else
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.wiki.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.wiki.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -364,7 +364,7 @@ module DiscourseNarrativeBot
|
||||||
fake_delay
|
fake_delay
|
||||||
|
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.end.message",
|
reply_to(@post, I18n.t("#{I18N_KEY}.end.message",
|
||||||
certificate: certificate('advanced')
|
i18n_post_args(certificate: certificate('advanced'))
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -91,9 +91,11 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if post = Post.find_by(id: @data[:last_post_id])
|
if post = Post.find_by(id: @data[:last_post_id])
|
||||||
reply_to(post, I18n.t("discourse_narrative_bot.timeout.message",
|
reply_to(post, I18n.t("discourse_narrative_bot.timeout.message",
|
||||||
username: user.username,
|
i18n_post_args(
|
||||||
skip_trigger: TrackSelector.skip_trigger,
|
username: user.username,
|
||||||
reset_trigger: "#{TrackSelector.reset_trigger} #{self.class.reset_trigger}",
|
skip_trigger: TrackSelector.skip_trigger,
|
||||||
|
reset_trigger: "#{TrackSelector.reset_trigger} #{self.class.reset_trigger}"
|
||||||
|
)
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -102,12 +104,11 @@ module DiscourseNarrativeBot
|
||||||
options = {
|
options = {
|
||||||
user_id: @user.id,
|
user_id: @user.id,
|
||||||
date: Time.zone.now.strftime('%b %d %Y'),
|
date: Time.zone.now.strftime('%b %d %Y'),
|
||||||
host: Discourse.base_url,
|
|
||||||
format: :svg
|
format: :svg
|
||||||
}
|
}
|
||||||
|
|
||||||
options.merge!(type: type) if type
|
options.merge!(type: type) if type
|
||||||
src = DiscourseNarrativeBot::Engine.routes.url_helpers.certificate_url(options)
|
src = Discourse.base_url + DiscourseNarrativeBot::Engine.routes.url_helpers.certificate_path(options)
|
||||||
"<img class='discobot-certificate' src='#{src}' width='650' height='464' alt='#{I18n.t("#{self.class::I18N_KEY}.certificate.alt")}'>"
|
"<img class='discobot-certificate' src='#{src}' width='650' height='464' alt='#{I18n.t("#{self.class::I18N_KEY}.certificate.alt")}'>"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -154,6 +155,10 @@ module DiscourseNarrativeBot
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def i18n_post_args(extra={})
|
||||||
|
{base_uri: Discourse.base_uri}.merge(extra)
|
||||||
|
end
|
||||||
|
|
||||||
def valid_topic?(topic_id)
|
def valid_topic?(topic_id)
|
||||||
topic_id == @data[:topic_id]
|
topic_id == @data[:topic_id]
|
||||||
end
|
end
|
||||||
|
|
|
@ -577,7 +577,7 @@ module DiscourseNarrativeBot
|
||||||
end
|
end
|
||||||
|
|
||||||
def avatar_url
|
def avatar_url
|
||||||
UrlHelper.absolute(@user.avatar_template.gsub('{size}', '250'))
|
UrlHelper.absolute(Discourse.base_uri + @user.avatar_template.gsub('{size}', '250'))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -9,14 +9,14 @@ module DiscourseNarrativeBot
|
||||||
begin: {
|
begin: {
|
||||||
init: {
|
init: {
|
||||||
next_state: :tutorial_bookmark,
|
next_state: :tutorial_bookmark,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.bookmark.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.bookmark.instructions", base_uri: Discourse.base_uri) },
|
||||||
action: :say_hello
|
action: :say_hello
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
tutorial_bookmark: {
|
tutorial_bookmark: {
|
||||||
next_state: :tutorial_onebox,
|
next_state: :tutorial_onebox,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.onebox.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.onebox.instructions", base_uri: Discourse.base_uri) },
|
||||||
|
|
||||||
bookmark: {
|
bookmark: {
|
||||||
action: :reply_to_bookmark
|
action: :reply_to_bookmark
|
||||||
|
@ -30,7 +30,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_onebox: {
|
tutorial_onebox: {
|
||||||
next_state: :tutorial_emoji,
|
next_state: :tutorial_emoji,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.emoji.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.emoji.instructions", base_uri: Discourse.base_uri) },
|
||||||
|
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_onebox
|
action: :reply_to_onebox
|
||||||
|
@ -40,7 +40,9 @@ module DiscourseNarrativeBot
|
||||||
tutorial_emoji: {
|
tutorial_emoji: {
|
||||||
next_state: :tutorial_mention,
|
next_state: :tutorial_mention,
|
||||||
next_instructions: Proc.new {
|
next_instructions: Proc.new {
|
||||||
I18n.t("#{I18N_KEY}.mention.instructions", discobot_username: self.discobot_user.username)
|
I18n.t("#{I18N_KEY}.mention.instructions",
|
||||||
|
discobot_username: self.discobot_user.username,
|
||||||
|
base_uri: Discourse.base_uri)
|
||||||
},
|
},
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_emoji
|
action: :reply_to_emoji
|
||||||
|
@ -49,7 +51,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_mention: {
|
tutorial_mention: {
|
||||||
next_state: :tutorial_formatting,
|
next_state: :tutorial_formatting,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.formatting.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.formatting.instructions", base_uri: Discourse.base_uri) },
|
||||||
|
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_mention
|
action: :reply_to_mention
|
||||||
|
@ -58,7 +60,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_formatting: {
|
tutorial_formatting: {
|
||||||
next_state: :tutorial_quote,
|
next_state: :tutorial_quote,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.quoting.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.quoting.instructions", base_uri: Discourse.base_uri) },
|
||||||
|
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_formatting
|
action: :reply_to_formatting
|
||||||
|
@ -67,7 +69,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_quote: {
|
tutorial_quote: {
|
||||||
next_state: :tutorial_images,
|
next_state: :tutorial_images,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.images.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.images.instructions", base_uri: Discourse.base_uri) },
|
||||||
|
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_quote
|
action: :reply_to_quote
|
||||||
|
@ -79,7 +81,8 @@ module DiscourseNarrativeBot
|
||||||
next_instructions: Proc.new {
|
next_instructions: Proc.new {
|
||||||
I18n.t("#{I18N_KEY}.flag.instructions",
|
I18n.t("#{I18N_KEY}.flag.instructions",
|
||||||
guidelines_url: url_helpers(:guidelines_url),
|
guidelines_url: url_helpers(:guidelines_url),
|
||||||
about_url: url_helpers(:about_index_url))
|
about_url: url_helpers(:about_index_url),
|
||||||
|
base_uri: Discourse.base_uri)
|
||||||
},
|
},
|
||||||
reply: {
|
reply: {
|
||||||
action: :reply_to_image
|
action: :reply_to_image
|
||||||
|
@ -91,7 +94,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
tutorial_flag: {
|
tutorial_flag: {
|
||||||
next_state: :tutorial_search,
|
next_state: :tutorial_search,
|
||||||
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.search.instructions") },
|
next_instructions: Proc.new { I18n.t("#{I18N_KEY}.search.instructions", base_uri: Discourse.base_uri) },
|
||||||
flag: {
|
flag: {
|
||||||
action: :reply_to_flag
|
action: :reply_to_flag
|
||||||
},
|
},
|
||||||
|
@ -144,7 +147,7 @@ module DiscourseNarrativeBot
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{post.raw}
|
#{post.raw}
|
||||||
|
|
||||||
#{I18n.t("#{I18N_KEY}.search.hidden_message")}
|
#{I18n.t("#{I18N_KEY}.search.hidden_message", i18n_post_args)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
PostRevisor.new(post, topic).revise!(
|
PostRevisor.new(post, topic).revise!(
|
||||||
|
@ -166,8 +169,10 @@ module DiscourseNarrativeBot
|
||||||
def say_hello
|
def say_hello
|
||||||
raw = I18n.t(
|
raw = I18n.t(
|
||||||
"#{I18N_KEY}.hello.message",
|
"#{I18N_KEY}.hello.message",
|
||||||
username: @user.username,
|
i18n_post_args(
|
||||||
title: SiteSetting.title
|
username: @user.username,
|
||||||
|
title: SiteSetting.title
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
|
@ -205,7 +210,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
fake_delay
|
fake_delay
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.bookmark.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.bookmark.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -214,7 +219,7 @@ module DiscourseNarrativeBot
|
||||||
return unless @post.user_id == self.discobot_user.id
|
return unless @post.user_id == self.discobot_user.id
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.bookmark.reply", profile_page_url: url_helpers(:user_url, username: @user.username))}
|
#{I18n.t("#{I18N_KEY}.bookmark.reply", i18n_post_args(profile_page_url: url_helpers(:user_url, username: @user.username)))}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -234,7 +239,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if @post.post_analyzer.found_oneboxes?
|
if @post.post_analyzer.found_oneboxes?
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.onebox.reply")}
|
#{I18n.t("#{I18N_KEY}.onebox.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -246,7 +251,7 @@ module DiscourseNarrativeBot
|
||||||
reply
|
reply
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.onebox.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.onebox.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -270,7 +275,7 @@ module DiscourseNarrativeBot
|
||||||
like_post(post)
|
like_post(post)
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.images.reply")}
|
#{I18n.t("#{I18N_KEY}.images.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -304,7 +309,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if get_state_data(:liked)
|
if get_state_data(:liked)
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.images.reply")}
|
#{I18n.t("#{I18N_KEY}.images.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -313,7 +318,7 @@ module DiscourseNarrativeBot
|
||||||
else
|
else
|
||||||
raw = I18n.t(
|
raw = I18n.t(
|
||||||
"#{I18N_KEY}.images.like_not_found",
|
"#{I18N_KEY}.images.like_not_found",
|
||||||
url: Post.find_by(id: @data[:last_post_id]).url
|
i18n_post_args(url: Post.find_by(id: @data[:last_post_id]).url)
|
||||||
)
|
)
|
||||||
|
|
||||||
transition = false
|
transition = false
|
||||||
|
@ -321,7 +326,7 @@ module DiscourseNarrativeBot
|
||||||
else
|
else
|
||||||
raw = I18n.t(
|
raw = I18n.t(
|
||||||
"#{I18N_KEY}.images.not_found",
|
"#{I18N_KEY}.images.not_found",
|
||||||
image_url: "#{Discourse.base_url}/images/dog-walk.gif"
|
i18n_post_args(image_url: "#{Discourse.base_url}/images/dog-walk.gif")
|
||||||
)
|
)
|
||||||
|
|
||||||
transition = false
|
transition = false
|
||||||
|
@ -341,7 +346,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if Nokogiri::HTML.fragment(@post.cooked).css("b", "strong", "em", "i", ".bbcode-i", ".bbcode-b").size > 0
|
if Nokogiri::HTML.fragment(@post.cooked).css("b", "strong", "em", "i", ".bbcode-i", ".bbcode-b").size > 0
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.formatting.reply")}
|
#{I18n.t("#{I18N_KEY}.formatting.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -353,7 +358,7 @@ module DiscourseNarrativeBot
|
||||||
reply
|
reply
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.formatting.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.formatting.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -367,7 +372,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if doc.css(".quote").size > 0
|
if doc.css(".quote").size > 0
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.quoting.reply")}
|
#{I18n.t("#{I18N_KEY}.quoting.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -379,7 +384,7 @@ module DiscourseNarrativeBot
|
||||||
reply
|
reply
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.quoting.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.quoting.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -393,7 +398,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if doc.css(".emoji").size > 0
|
if doc.css(".emoji").size > 0
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.emoji.reply")}
|
#{I18n.t("#{I18N_KEY}.emoji.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -405,7 +410,7 @@ module DiscourseNarrativeBot
|
||||||
reply
|
reply
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.emoji.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.emoji.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -417,7 +422,7 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if bot_mentioned?(@post)
|
if bot_mentioned?(@post)
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.mention.reply")}
|
#{I18n.t("#{I18N_KEY}.mention.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -433,8 +438,10 @@ module DiscourseNarrativeBot
|
||||||
unless @data[:attempted]
|
unless @data[:attempted]
|
||||||
reply_to(@post, I18n.t(
|
reply_to(@post, I18n.t(
|
||||||
"#{I18N_KEY}.mention.not_found",
|
"#{I18N_KEY}.mention.not_found",
|
||||||
username: @user.username,
|
i18n_post_args(
|
||||||
discobot_username: self.discobot_user.username
|
username: @user.username,
|
||||||
|
discobot_username: self.discobot_user.username
|
||||||
|
)
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -448,7 +455,7 @@ module DiscourseNarrativeBot
|
||||||
return if @post.user_id == -2
|
return if @post.user_id == -2
|
||||||
|
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.flag.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.flag.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -458,7 +465,7 @@ module DiscourseNarrativeBot
|
||||||
return unless @post.user.id == -2
|
return unless @post.user.id == -2
|
||||||
|
|
||||||
raw = <<~RAW
|
raw = <<~RAW
|
||||||
#{I18n.t("#{I18N_KEY}.flag.reply")}
|
#{I18n.t("#{I18N_KEY}.flag.reply", i18n_post_args)}
|
||||||
|
|
||||||
#{instance_eval(&@next_instructions)}
|
#{instance_eval(&@next_instructions)}
|
||||||
RAW
|
RAW
|
||||||
|
@ -478,10 +485,10 @@ module DiscourseNarrativeBot
|
||||||
|
|
||||||
if @post.raw.match(/#{SEARCH_ANSWER}/)
|
if @post.raw.match(/#{SEARCH_ANSWER}/)
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.search.reply", search_url: url_helpers(:search_url)))
|
reply_to(@post, I18n.t("#{I18N_KEY}.search.reply", i18n_post_args(search_url: url_helpers(:search_url))))
|
||||||
else
|
else
|
||||||
fake_delay
|
fake_delay
|
||||||
reply_to(@post, I18n.t("#{I18N_KEY}.search.not_found")) unless @data[:attempted]
|
reply_to(@post, I18n.t("#{I18N_KEY}.search.not_found", i18n_post_args)) unless @data[:attempted]
|
||||||
enqueue_timeout_job(@user)
|
enqueue_timeout_job(@user)
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
@ -493,11 +500,13 @@ module DiscourseNarrativeBot
|
||||||
reply_to(
|
reply_to(
|
||||||
@post,
|
@post,
|
||||||
I18n.t("#{I18N_KEY}.end.message",
|
I18n.t("#{I18N_KEY}.end.message",
|
||||||
username: @user.username,
|
i18n_post_args(
|
||||||
base_url: Discourse.base_url,
|
username: @user.username,
|
||||||
certificate: certificate,
|
base_url: Discourse.base_url,
|
||||||
discobot_username: self.discobot_user.username,
|
certificate: certificate,
|
||||||
advanced_trigger: AdvancedUserNarrative.reset_trigger
|
discobot_username: self.discobot_user.username,
|
||||||
|
advanced_trigger: AdvancedUserNarrative.reset_trigger
|
||||||
|
)
|
||||||
),
|
),
|
||||||
topic_id: @data[:topic_id]
|
topic_id: @data[:topic_id]
|
||||||
)
|
)
|
||||||
|
|
|
@ -42,6 +42,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
username: user.username,
|
username: user.username,
|
||||||
skip_trigger: skip_trigger,
|
skip_trigger: skip_trigger,
|
||||||
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
|
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
|
||||||
|
base_uri: ''
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -67,13 +68,13 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
|
|
||||||
expected_raw = I18n.t(
|
expected_raw = I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.start_message',
|
'discourse_narrative_bot.advanced_user_narrative.start_message',
|
||||||
username: user.username
|
username: user.username, base_uri: ''
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{expected_raw}
|
#{expected_raw}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
new_post = Post.offset(1).last
|
new_post = Post.offset(1).last
|
||||||
|
@ -99,13 +100,13 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
|
|
||||||
expected_raw = I18n.t(
|
expected_raw = I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.start_message',
|
'discourse_narrative_bot.advanced_user_narrative.start_message',
|
||||||
username: user.username
|
username: user.username, base_uri: ''
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{expected_raw}
|
#{expected_raw}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
new_post = Post.offset(1).last
|
new_post = Post.offset(1).last
|
||||||
|
@ -159,7 +160,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.edit.not_found',
|
'discourse_narrative_bot.advanced_user_narrative.edit.not_found',
|
||||||
url: first_post.url
|
url: first_post.url, base_uri: ''
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -173,7 +174,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.delete.instructions')
|
'discourse_narrative_bot.advanced_user_narrative.delete.instructions', base_uri: '')
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
|
||||||
|
@ -192,9 +193,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
end.to change { Post.count }.by(1)
|
end.to change { Post.count }.by(1)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.edit.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(expected_raw.chomp)
|
expect(Post.last.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -220,7 +221,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.delete.not_found'
|
'discourse_narrative_bot.advanced_user_narrative.delete.not_found', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_delete)
|
||||||
|
@ -236,7 +237,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.offset(1).last
|
new_post = Post.offset(1).last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.recover.instructions')
|
'discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
||||||
|
@ -263,9 +264,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
.to change { Post.count }.by(2)
|
.to change { Post.count }.by(2)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
||||||
|
@ -281,9 +282,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
.to_not change { Post.count }
|
.to_not change { Post.count }
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.delete.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
||||||
|
@ -314,7 +315,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.recover.not_found'
|
'discourse_narrative_bot.advanced_user_narrative.recover.not_found', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_recover)
|
||||||
|
@ -334,7 +335,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions',
|
'discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions',
|
||||||
category: "#a:b"
|
category: "#a:b", base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
||||||
|
@ -366,9 +367,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
.to change { Post.count }.by(1)
|
.to change { Post.count }.by(1)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.recover.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions', category: "#a:b")}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.instructions', category: "#a:b", base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
||||||
|
@ -405,7 +406,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.category_hashtag.not_found'
|
'discourse_narrative_bot.advanced_user_narrative.category_hashtag.not_found', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_category_hashtag)
|
||||||
|
@ -421,7 +422,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions'
|
'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
|
||||||
|
@ -436,9 +437,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.category_hashtag.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(expected_raw.chomp)
|
expect(Post.last.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -479,7 +480,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.not_found'
|
'discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.not_found', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_change_topic_notification_level)
|
||||||
|
@ -495,7 +496,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.poll.instructions')
|
'discourse_narrative_bot.advanced_user_narrative.poll.instructions', base_uri: '')
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
|
||||||
|
@ -512,9 +513,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.change_topic_notification_level.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(expected_raw.chomp)
|
expect(Post.last.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -547,7 +548,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.not_found'))
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_poll)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -561,7 +562,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.details.instructions')
|
'discourse_narrative_bot.advanced_user_narrative.details.instructions', base_uri: '')
|
||||||
)
|
)
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
|
||||||
|
@ -574,9 +575,9 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.reply')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.poll.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.details.instructions')}
|
#{I18n.t('discourse_narrative_bot.advanced_user_narrative.details.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(expected_raw.chomp)
|
expect(Post.last.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -607,7 +608,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
it 'should create the right reply' do
|
it 'should create the right reply' do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.details.not_found'))
|
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.advanced_user_narrative.details.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_details)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -631,7 +632,7 @@ RSpec.describe DiscourseNarrativeBot::AdvancedUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.offset(1).last.raw).to eq(I18n.t(
|
expect(Post.offset(1).last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.advanced_user_narrative.details.reply'
|
'discourse_narrative_bot.advanced_user_narrative.details.reply', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)).to eq({
|
expect(narrative.get_data(user)).to eq({
|
||||||
|
|
|
@ -44,6 +44,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
username: user.username,
|
username: user.username,
|
||||||
skip_trigger: skip_trigger,
|
skip_trigger: skip_trigger,
|
||||||
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
|
reset_trigger: "#{reset_trigger} #{described_class.reset_trigger}",
|
||||||
|
base_uri: ''
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -68,13 +69,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.reset_bot(user, post)
|
narrative.reset_bot(user, post)
|
||||||
|
|
||||||
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
||||||
username: user.username, title: SiteSetting.title
|
username: user.username, title: SiteSetting.title, base_uri: ''
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{expected_raw}
|
#{expected_raw}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
@ -96,13 +97,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.reset_bot(user, other_post)
|
narrative.reset_bot(user, other_post)
|
||||||
|
|
||||||
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
||||||
username: user.username, title: SiteSetting.title
|
username: user.username, title: SiteSetting.title, base_uri: ''
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{expected_raw}
|
#{expected_raw}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
@ -159,13 +160,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
expected_raw = I18n.t('discourse_narrative_bot.new_user_narrative.hello.message',
|
||||||
username: user.username, title: SiteSetting.title
|
username: user.username, title: SiteSetting.title, base_uri: ''
|
||||||
)
|
)
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{expected_raw}
|
#{expected_raw}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url)}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.instructions', profile_page_url: profile_page_url, base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(new_post.raw).to eq(expected_raw.chomp)
|
expect(new_post.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -207,7 +208,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.not_found'))
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_bookmark)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_bookmark)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -220,9 +221,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions', base_uri: ''))
|
||||||
'discourse_narrative_bot.new_user_narrative.onebox.instructions')
|
|
||||||
)
|
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
||||||
end
|
end
|
||||||
|
@ -238,9 +237,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
profile_page_url = "#{Discourse.base_url}/u/#{user.username}"
|
profile_page_url = "#{Discourse.base_url}/u/#{user.username}"
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.reply', profile_page_url: profile_page_url)}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.bookmark.reply', profile_page_url: profile_page_url, base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(new_post.raw).to eq(expected_raw.chomp)
|
expect(new_post.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -269,7 +268,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found'))
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -280,7 +279,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found'))
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.onebox.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_onebox)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -295,9 +294,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions', base_uri: ''))
|
||||||
'discourse_narrative_bot.new_user_narrative.emoji.instructions')
|
|
||||||
)
|
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
|
||||||
end
|
end
|
||||||
|
@ -312,9 +309,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.onebox.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(new_post.raw).to eq(expected_raw.chomp)
|
expect(new_post.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -357,7 +354,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
||||||
guidelines_url: Discourse.base_url + '/guidelines',
|
guidelines_url: Discourse.base_url + '/guidelines',
|
||||||
about_url: Discourse.base_url + '/about'
|
about_url: Discourse.base_url + '/about',
|
||||||
|
base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
|
||||||
|
@ -374,7 +372,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.images.not_found',
|
'discourse_narrative_bot.new_user_narrative.images.not_found',
|
||||||
image_url: "#{Discourse.base_url}/images/dog-walk.gif"
|
image_url: "#{Discourse.base_url}/images/dog-walk.gif", base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
described_class.any_instance.expects(:enqueue_timeout_job).with(user)
|
described_class.any_instance.expects(:enqueue_timeout_job).with(user)
|
||||||
|
@ -388,12 +386,13 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
DiscourseNarrativeBot::TrackSelector.new(:reply, user, post_id: new_post.id).select
|
DiscourseNarrativeBot::TrackSelector.new(:reply, user, post_id: new_post.id).select
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.images.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.images.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t(
|
#{I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
||||||
guidelines_url: "#{Discourse.base_url}/guidelines",
|
guidelines_url: "#{Discourse.base_url}/guidelines",
|
||||||
about_url: "#{Discourse.base_url}/about"
|
about_url: "#{Discourse.base_url}/about",
|
||||||
|
base_uri: ''
|
||||||
)}
|
)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
|
@ -414,7 +413,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.images.not_found',
|
'discourse_narrative_bot.new_user_narrative.images.not_found',
|
||||||
image_url: "#{Discourse.base_url}/images/dog-walk.gif"
|
image_url: "#{Discourse.base_url}/images/dog-walk.gif",
|
||||||
|
base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
||||||
|
@ -430,7 +430,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.images.like_not_found',
|
'discourse_narrative_bot.new_user_narrative.images.like_not_found',
|
||||||
url: post_2.url
|
url: post_2.url, base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
||||||
|
@ -447,7 +447,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
#{I18n.t(
|
#{I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
'discourse_narrative_bot.new_user_narrative.flag.instructions',
|
||||||
guidelines_url: "#{Discourse.base_url}/guidelines",
|
guidelines_url: "#{Discourse.base_url}/guidelines",
|
||||||
about_url: "#{Discourse.base_url}/about"
|
about_url: "#{Discourse.base_url}/about",
|
||||||
|
base_uri: ''
|
||||||
)}
|
)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
|
@ -482,7 +483,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.expects(:enqueue_timeout_job).with(user)
|
narrative.expects(:enqueue_timeout_job).with(user)
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.formatting.not_found'))
|
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.formatting.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -498,7 +499,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.quoting.instructions',
|
'discourse_narrative_bot.new_user_narrative.quoting.instructions', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
|
||||||
|
@ -515,9 +516,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.formatting.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.formatting.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.instructions')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(new_post.raw).to eq(expected_raw.chomp)
|
expect(new_post.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -546,7 +547,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.expects(:enqueue_timeout_job).with(user)
|
narrative.expects(:enqueue_timeout_job).with(user)
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.quoting.not_found'))
|
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.quoting.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_quote)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -562,11 +563,24 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.images.instructions',
|
'discourse_narrative_bot.new_user_narrative.images.instructions', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_images)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "should use correct path to images on subfolder installs" do
|
||||||
|
GlobalSetting.stubs(:relative_url_root).returns('/forum')
|
||||||
|
Discourse.stubs(:base_uri).returns("/forum")
|
||||||
|
|
||||||
|
post.update!(raw: skip_trigger)
|
||||||
|
|
||||||
|
DiscourseNarrativeBot::TrackSelector.new(:reply, user, post_id: post.id).select
|
||||||
|
|
||||||
|
new_post = Post.last
|
||||||
|
|
||||||
|
expect(new_post.raw).to include("/forum/images")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -580,9 +594,9 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.quoting.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.images.instructions')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.images.instructions', base_uri: '')}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
expect(new_post.raw).to eq(expected_raw.chomp)
|
expect(new_post.raw).to eq(expected_raw.chomp)
|
||||||
|
@ -610,7 +624,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.expects(:enqueue_timeout_job).with(user)
|
narrative.expects(:enqueue_timeout_job).with(user)
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.not_found'))
|
expect(Post.last.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.emoji.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_emoji)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -627,7 +641,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.mention.instructions',
|
'discourse_narrative_bot.new_user_narrative.mention.instructions',
|
||||||
discobot_username: discobot_user.username
|
discobot_username: discobot_user.username, base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
|
||||||
|
@ -645,10 +659,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.emoji.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.mention.instructions',
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.mention.instructions',
|
||||||
discobot_username: discobot_user.username
|
discobot_username: discobot_user.username, base_uri: ''
|
||||||
)}
|
)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
|
@ -680,7 +694,8 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.mention.not_found',
|
'discourse_narrative_bot.new_user_narrative.mention.not_found',
|
||||||
username: user.username,
|
username: user.username,
|
||||||
discobot_username: discobot_user.username
|
discobot_username: discobot_user.username,
|
||||||
|
base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_mention)
|
||||||
|
@ -698,7 +713,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.formatting.instructions',
|
'discourse_narrative_bot.new_user_narrative.formatting.instructions',
|
||||||
discobot_username: discobot_user.username
|
discobot_username: discobot_user.username, base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_formatting)
|
||||||
|
@ -715,10 +730,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.mention.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.mention.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t(
|
#{I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.formatting.instructions'
|
'discourse_narrative_bot.new_user_narrative.formatting.instructions', base_uri: ''
|
||||||
)}
|
)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
|
@ -762,7 +777,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.input(:reply, user, post: other_post)
|
narrative.input(:reply, user, post: other_post)
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.flag.not_found'))
|
expect(new_post.raw).to eq(I18n.t('discourse_narrative_bot.new_user_narrative.flag.not_found', base_uri: ''))
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_flag)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -776,7 +791,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.search.instructions'
|
'discourse_narrative_bot.new_user_narrative.search.instructions', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
||||||
|
@ -792,10 +807,10 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
new_post = Post.last
|
new_post = Post.last
|
||||||
|
|
||||||
expected_raw = <<~RAW
|
expected_raw = <<~RAW
|
||||||
#{I18n.t('discourse_narrative_bot.new_user_narrative.flag.reply')}
|
#{I18n.t('discourse_narrative_bot.new_user_narrative.flag.reply', base_uri: '')}
|
||||||
|
|
||||||
#{I18n.t(
|
#{I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.search.instructions'
|
'discourse_narrative_bot.new_user_narrative.search.instructions', base_uri: ''
|
||||||
)}
|
)}
|
||||||
RAW
|
RAW
|
||||||
|
|
||||||
|
@ -825,7 +840,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
narrative.input(:reply, user, post: post)
|
narrative.input(:reply, user, post: post)
|
||||||
|
|
||||||
expect(Post.last.raw).to eq(I18n.t(
|
expect(Post.last.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.search.not_found'
|
'discourse_narrative_bot.new_user_narrative.search.not_found', base_uri: ''
|
||||||
))
|
))
|
||||||
|
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
||||||
|
@ -847,7 +862,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
expect(narrative.get_data(user)[:state].to_sym).to eq(:tutorial_search)
|
||||||
|
|
||||||
expect(post.reload.topic.first_post.raw).to include(I18n.t(
|
expect(post.reload.topic.first_post.raw).to include(I18n.t(
|
||||||
"discourse_narrative_bot.new_user_narrative.search.hidden_message"
|
"discourse_narrative_bot.new_user_narrative.search.hidden_message", base_uri: ''
|
||||||
))
|
))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -875,7 +890,7 @@ describe DiscourseNarrativeBot::NewUserNarrative do
|
||||||
|
|
||||||
expect(new_post.raw).to eq(I18n.t(
|
expect(new_post.raw).to eq(I18n.t(
|
||||||
'discourse_narrative_bot.new_user_narrative.search.reply',
|
'discourse_narrative_bot.new_user_narrative.search.reply',
|
||||||
search_url: "#{Discourse.base_url}/search"
|
search_url: "#{Discourse.base_url}/search", base_uri: ''
|
||||||
).chomp)
|
).chomp)
|
||||||
|
|
||||||
expect(first_post.reload.raw).to eq('Hello world')
|
expect(first_post.reload.raw).to eq('Hello world')
|
||||||
|
|
Loading…
Reference in New Issue
Block a user